Работа в Linux
В отличие от Windows, где есть один графический интерфейс explorer.exe и одна простая командная строка cmd.exe и продвинутая powerShell.exe, в Linux множество графический интерфейсов, множество вариантов консолей и оболочек.
Некоторые советы по настройке Linux универсальны и типичны, а некоторые работают только в каком-то одном графическом интерфейсе, например, в кедах
(KDE). Версий программных пакетов тоже может быть несколько (основные – .rpm, .deb). Это обратная сторона свободы выбора, которая есть на Linux.
Во всём этом зоопарке может оказаться трудным найти уже привычные инструменты из среды Windows. В одной конфигурации программ будут доступны одни вещи, но не будет других. Где-то интерфейс будет удобнее, где-то нет (чаще нет).
Но зачастую это всё можно плюс-минус донастроить. Главное знать как. Об этом читайте в данной статье.
Статья в процессе активной доработки и будет дополняться по мере выявления новых неудобных моментов, мешающих комфортно работать. Например, планирую дописать позже как редактировать меню "Открыть с помощью". Как определить какая программа конкретно в вашем дистрибутиве его формирует и где это конфигурируется.
Писал про это меню в разборе Slitaz Linux. Но в других дистрибутивах по-другому. Slitaz достаточно специфичен.
Поэтому необходимо знать на чём основан ваш дистрибутив. А также какую графическую среду и командную оболочку он использует (например, ubuntu, kde, bash). Так вы со 100%-ной вероятностью определите – подходит ли вам тот или иной совет в вашей ситуации.
Проблемы после установки Linux
Если вы ставили Linux второй системой (на посмотреть) и после установки у вас нет в загрузчике записи о Windows, можно выполнить команду:
sudo grub-mkconfig -o /boot/grub/grub.cfg
и винда найдётся. Если самого загрузчика не видно (чёрный экран), то значит дистрибутив шибко прогрессивный (Ubuntu) и вся загрузочная информация скрыта. Процесс идёт как и всегда на линуксе, просто скрыт и вы смотрите на чёрный экран.
Чтобы это исправить, надо подправить файл конфигурации grub. В консоли написать:
sudo nano /etc/default/grub
nano – это текстовой редактор в Ubuntu. В другом дистрибутиве может быть другой. Можно погуглить. После nano путь до конфига. В конфиге надо:
- Стереть или закомментировать строки типа splash_screen=false (комментарий ставится решёткой в начале строки).
- Раскомментировать строку GRUB_GFXMODE
Актуальность программного обеспечения
Дополнено 10.06.24
Раз уж речь идёт о работе, то важно понимать, что вся работа строится вокруг программного обеспечения. Всё остальное – лишь окружение, которое помогает этому работать. А работаем мы в программах. И с этим напрямую связаны 2 фундаментальные проблемы, о которых ниже.
Понимание этого КРАЙНЕ ВАЖНО для работы в любых линуксах.
В мире Linux все дистрибутивы так или иначе привязаны к репозиториям – хранилищам с программным обеспечением. Подход к их обновлению и содержанию в адекватном состоянии может быть как консервативным (у Debian) или прогрессивным (у Ubuntu).В репозитории, как правило, находится одна версия программы. Различие в том, что в первом (консервативном) случае в репозиторий новые версии программ и системных библиотек попадают со значительной задержкой (т.е. уже не новыми).
Это гарантирует стабильность работы системы, программ и стабильную работу в целом. Без сюрпризов. Вы практически никогда не получите проблемную программу при таком подходе. А если идти прогрессивным путём, то такое вполне возможно.
Как-то я обновил Firefox и обнаружил, что у меня в браузере скроллинг перестал работать (писал об этом в телеграм-канале). А назад откатиться уже просто так нельзя, поскольку в профиле стоит проверка на версию. Обойти это я смог. Но ингода это имеет последствия. Проверка не на пустом месте стоит.
Обратная сторона тут тоже есть. Я переносил свой профиль Firefox (все пользовательские настройки) с Windows на Linux и у меня при подключении "отвалились" дополнения, поскольку с этой старой версией Firefox они не работали. А обновить браузер я не могу, поскольку в репозитории последняя доступная версия 109. А обновиться надо на 126-ую.
У Mozilla свой личный репозиторий Firefox имеется. Я его в список добавил, дал ему приоритет и обновился до 126-ой версии. Но свой репозиторий не у всех и не всегда есть.
На сайте есть отдельная подробная статься о вариантах и способах установки программ в Linux. Там я отдельно и подробно разбираю этот вопрос.
Я пользуюсь редактором кода VS Code. И он недоступен в репозитории вообще. Можно только установщик скачать с сайта разработчика. И ставился он раньше прекрасно. Сегодня я решил его удалить и скачать версию посвежее. А она устанавливаться отказалась.
Попытка установки через консоль прояснила проблему. Я попробовал различные способы решения вопроса, но безрезультатно.
В системе у меня стоит библиотека libc6-2.27, которая считается самой новой. А в новой версии пакета VS Code требуется libc6-2.28 и выше. Последняя версия библиотеки на данный момент – 2.39.9. Понятно, что 2.27 сильно устарела. А старый VS Code я уже удалил. Решил пободаться.
Система эту libc6-2.27 заблокировала для обновления, поскольку в репозитории на неё многое завязано, обновление может навредить. Это всё мне сообщалось в консоли. Я всё же обновил её репрессивными методами. Меня очень доходчиво предупредили, что будет больно. Я настоял на своём и всё [ожидаемо] поломалось. А починиться не смогло.
Слетела работа установщика пакетов Synaptic и половина русской локали (полсистемы на английском). "Попал" на переустановку системы. Но я был к этому готов, т.к. меня уже не устраивали устаревшие версии софта и я понимал, что надо пересаживаться на прогрессивный дистрибутив. Я работаю и в линуксе и в винде, перетаскивая профили програм между системами. Часть программ просто синхронизирует профили через интернет. И устаревание репозитория тут очень мешает.
Если бы я пользовался только Peppermint OS, то проблемы бы в принципе не было. Эта сборка консервативная и проблем с ней отдельно не было вообще (а с Windows 10 были). Чтобы наглядно был понятен консерватизм:
Ubuntu 18.04 LTS. Дата выпуска – 26.04.2018. Дата окончания поддержки – 01.04.2023. Можно сказать, что эта сборка Peppermint 10 уже застряла в прошлом. Она будет стабильно работать сама по себе ещё лет 5 точно. Но взаимодействие с другими системами и т.п. уже под большим вопросом. Поэтому надо ставить что-то другое.
Поэтому при переходе на Linux надо прямо на берегу определиться – консервативное будет использвание или прогрессивное.
Консервативный дистрибутив вполне подойдёт для домашнего ПК, просмотра музыки, фильмов, работы с документами, фотографиями и т.п.. А вто для работы, особенно связанной с компьютерами, программированием и прочим, стабильность может выйти боком.
Важно отметить, что большинство сборок дистрибутивов, отечественных в том числе, прогрессивной политики не придерживаются. Поэтому сразу надо смотреть на чём дистрибутив основан, какой у него репозиторий и насколько там всё свежее. О том, как это выяснить и как вообще настроить рабочее пространство читайте далее.
Горячие клавиши
Я использую для создания скриншотов программу FlameShot. Она позволяет делать аннотации на скриншотах. Но в [любой] системе программа для снимков икрана есть по-умолчанию. При этом функционал у неё всегда скудный. Но клавишу PrintScreen и сочетания с ней она занимает.
Поэтому надо назначить пользовательские. Интерфейс по правке и добавлению горячих клавиш в разных дистрибутивах немного отличается, но в целом всегда находится в разделе настроек, связанных с клавиатурой и выглядит примерно так:
Чтобы узнать какие команды доступны для конкретной программы – посмотрите документацию или посетите сайт разработчика.
Я в итоге повесил на хоткей такую команду:
flameshot gui -d 2000
Она запускает не саму программу в трее, а сразу графический интерфейс с задержкой в 2 секунды, что позволяет не просто снять экран, а воспроизвести конкретную ситуацию, например, вызвать контекстное меню. Просто нажатием PrintScreen это сделать не получится – менюшка исчезнет.
Автозагрузка
Далеко не у всех программ, установленных в систему, если возможность назначить автозагрузку из настроек. Упомянутый выше FlameShot в последних версиях такую опцию в настройках имеет:
Но ранее он оной не имел, насколько я помню. При этом такая программа всегда должна быть под рукой – мало ли какую [критически] важную информацию нужно будет зафиксировать и насколько оперативно. Иногда счёт идёт на секунды. Поэтому добавляем программу в автозагрузку:
Добавить можно из системного списка программ или указать файл программы самостоятельно. Если в списке программы нет, то можно посмотреть путь до неё в свойствах ярлыка в меню системы:
Большинство программ можно найти в каталогах
/bin/
/usr/bin/
Открыв каталог, можно нажать первую букву названия программы – появится поисковая строка. И в ней далее набирать название. По мере набора количество файлов с совпадениями имён будет уменьшаться, показывая искомое.
Информация о системе
Получить краткую, но исчерпывающую информацию о системе (софте и железе) можно с помощью расширения для терминала neofetch. В некоторых дистрибутивах он предустановлен и доступен в настройках:
Выглядит следующим образом (нужно открыть терминал):
В моём дистрибутиве он доступен из меню, но его нет в Synaptic`е. PPA-репозиторий, который я нашёл для установки этой программы, уже неактуален.
Можно попробовать установить аналог – screenfetch:
sudo apt install screenfetch
По-умолчанию после установки они демонстрируются в терминале постоянно, но получить информацию можно короткой командой, набрав в конслои название программы – screenfetch или neofetch.
Информация из командной строки
Если установить neofetch нет возможности, можно получить информацию через консоль другими способами. Узнать используемый оконный менеджер (на скриншоте WM) можно следующей командой:
wmctrl -m
Если данной утилиты нет в системе, ставится она так:
wmctrl -m
Команда выведет примерно следующее:
Name: Xfwm4
Class: xfwm4
PID: 1304
Window manager's "showing the desktop" mode: N/A
В моём случае графической оболочкой является XFWM 4. И уже можно конкретно по нему смотреть какие-то настройки.
Оконный менеджер является частью графического окружения. Узнать какое графическое окружение (рабочий стол, на скриншоте DE, Desktop Environment) у вас установлено можно командой
echo $XDG_CURRENT_DESKTOP
Команда возвращает название окружения. В моём случае это облегчённая среда LXDE. Документации по ней нет (404), но есть форум. Для большинства других сред посерьёзнее есть и документация.
Чтобы узнать, какую ваш дистрибутив использует командную оболочку (на скриншоте Shell), можно воспользоваться консольной командой
sudo echo $SHELL
В большинстве случаев результатом будет
/bin/bash
Т.е. всё из советов, написанное на bash`е, вам подойдёт. В статье о замерах скорости интернета я использовал bash-скрипт для автоматического запуска скрипта на python.
Версию ядра (на скриншоте Kernel), операционную систему (на скриншоте OS) и архитектуру процессора (х86-64, например) узнаете следующей командой:
hostnamectl
Выводит следующее:
Static hostname: pavel-A320M-S2H
Icon name: computer-desktop
Chassis: desktop
Operating System: Peppermint Ten
Kernel: Linux 5.4.0-150-generic
Architecture: x86-64
Архитектура процессора бывает нужна при выборе инсталлятора программы. Иногда разработчики делают несколько вариантов программы под разные архитектуры (чтобы не объединять всё в один файл) и явно указывают архитектуру.
При этом OS у меня указывается как Peppermint Ten. А он в свою очередь основан на Ubuntu, которая основана на Debian. В дистрибутивах, основанных на Debian, используются deb-пакеты (.deb). И в этом смысле название 'Peppermint Ten' вам ничего полезного не скажет.
Тут полезнее будет просмотреть один из системных файлов командой
cat /etc/os-release
В моём случае вывод в консоли такой:
NAME="Peppermint"
VERSION="10 (Ten)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Peppermint Ten"
VERSION_ID="10"
HOME_URL="http://peppermintos.com/"
SUPPORT_URL="http://forum.peppermintos.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/~peppermintos/"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Тут уже видно и родителя дистрибутива (ID) и прародителя (ID LIKE). И уже при скачивании программ можно ориентироваться на ключевые слова Ubuntu или Debian.
Информация о видеоадаптере
Информацию о видеоадаптере можно получить командой через консоль:
lspci -k | grep -EA2 'VGA|3D'
У меня видеокарта старая и я всё думаю обновить её. Но играю я мало, а для повседневных задач, в т.ч. для 3D-моделирования её вполне хватает. Поэтому я часто просто сравниваю видеокарту с более новыми вариантами в продаже и оставляю решение этого вопроса на потом
. Выводит она следующее:
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850]
Subsystem: ASUSTeK Computer Inc. EAH6850 [Radeon HD 6850]
Kernel driver in use: radeon
А смотрел я эту информацию, чтобы решить вопрос с мерцанием при скроллинге в браузере. Я работаю в основном с front-end`ом и смотреть на это мерцание полдня глаз не напасёшься (сильно утомляет). Оказалось, я не один такой. И также оказалось, что виной всему не драйвер видеокарты (или не только он), а настройка плавной прокрутки:
Это было основной причиной того, что я не переходил полностью на Linux. Я винил во всём драйвер видеокарты (на линуксе с ними всё не так хорошо, как на винде). А по итогу ситуацию надо было лишь слегка копнуть. На некоторых дистрибутивах есть аналогичные настройки в оконных менеджерах. В общем, проблема решилась.
Программы для повышения удобства пользования системой
Я человек привиредливый и в большинстве случаев не готов привыкать изначально к тому, что есть и брать, что дают. Это при условии, что есть альтернативы. Они есть, как правило, всегда. Но зачастую требуют вложения либо времени и сил, либо стредств. И я на это готов. Поэтому всегда ищу софт, способный улучшить мой пользовательский и профессиональный компьютерный быт.
Вам повезло, поскольку время и силы придётся тратить только на чтение этой статьи, а не на поиск всего, что в ней перечислено .
Программная регулировка яркости мониторов (Brightness controller)
На Windows я, хоть и с трудом, нашёл программу, которая регулировала не только яркость, но и контраст мониторов (всех подключённых) программно. В основном все приложения регулируют только яркость. На линуксе я пока нашёл только одну программу, которая меня более-менее устраивает в плане регулировки. В репозиториях её нет, поэтому использую PPA:
sudo add-apt-repository ppa:apandada1/brightness-controller
Просмотр изображений XNView MP
На Windows я после продолжительных поисков идеала остановился на программе просмотра изображений FastStone Viewer. На линуксе удалось найти хороший аналог практически с тем же функционалом – XNView MP
В репозиториях её нет, скачивайте с сайта разработчика по ссылке выше. Интерфейс по умолчанию не особо привлекателен, много лишнего. Но, к счастью, всё настраивается и убирается. Включая цвета фона, шрифта, рамок и теней.
Более лёгкие программы можно глянуть в каталоге для Linux в подразделе Просмотр и использование изображений
. Я пока искал что-то удобное и эстетичное, отобрал несколько вариантов.
Информатор Hard Info
Если нужна развёрнутая подробная информация, то лично использую утилиту Hardinfo:
Устанавливается следующей командой:
sudo apt-get install hardinfo
Интерфейс для управления 3G-модемом
Мне управлять модемом через трей не удобно. Во-первых, мало функций, во-вторых, иногда соединение разрывается, в-третьих, маленькое неинформативное окно.
Установка нормального графического интерфейса выполняется командой:
sudo apt-get install modem-manager-gui
Выглядит всё это следующим образом:
Настраивается автозагрузка. Можно и соединение проверить и трафик. И баланс запросить и sms прочитать. У меня есть другой модем от Megafon, тот после подключения доступен по адресу 192.168.0.1 и там тоже можно управлять информацией. Но только когда он определится и подключится.
А тут и список найденных модемов можно посмотреть и управлять всеми сразу. Намного гибче мобильный интернет с этим интерфейсом.
Набор спецсимволов (клавиша Compose)
В винде спецсимвол можно набрать, зажав Alt и некоторую комбинацию цифр на Num-панели. Обычно я так набираю знак умножения (×), дефис (—), знак градуса (°) и типографские кавычки («»). Знак умножения получается, например, при наборе alt+0215. Набирать надо на латинской раскладке.
На Linux есть аналогичная возможность набора при помощи клавиши Compose. Она по умолчанию выключена и её надо включать в настройках (но не во всех настройках дистрибутивов это есть).
Не все клавиши будут работать. Левый у меня, например, не сработал. А правый Alt и клавиша контекстного меню работали нормально. Примеров набора комбинаций в сети достаточно. На скриншоте ниже представлены некоторые, которыми я пользуюсь:
Важно учитывать, что для типографской кавычки надо дважды нажать >>, а это сочетание клавиш Shift + .
Поэтому сначала зажимается shift, затем compose и потом уже .. В этом плане самыми сложными для набора являются степени. Там надо набрать с композитной клавишей комбинацию shift+6, а затем номер степени. Получается после некоторой тренировки.
Для начала можно попробовать набрать типографские кавычки, чтобы понять принцип, а потом уже примеры посложнее. Двойной пробел с композитной клавишей даст неразрывный пробел.
Раз уж речь идёт о работе