Работа в Linux

Оглавление
09 июня 2024 г.

В отличие от 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 путь до конфига. В конфиге надо:

  1. Стереть или закомментировать строки типа splash_screen=false (комментарий ставится решёткой в начале строки).
  2. Раскомментировать строку GRUB_GFXMODE

Актуальность программного обеспечения

Дополнено 10.06.24
Раз уж речь идёт о работе, то важно понимать, что вся работа строится вокруг программного обеспечения. Всё остальное – лишь окружение, которое помогает этому работать. А работаем мы в программах. И с этим напрямую связаны 2 фундаментальные проблемы, о которых ниже.
Понимание этого КРАЙНЕ ВАЖНО для работы в любых линуксах.

В мире Linux все дистрибутивы так или иначе привязаны к репозиториям – хранилищам с программным обеспечением. Подход к их обновлению и содержанию в адекватном состоянии может быть как консервативным (у Debian) или прогрессивным (у Ubuntu).В репозитории, как правило, находится одна версия программы. Различие в том, что в первом (консервативном) случае в репозиторий новые версии программ и системных библиотек попадают со значительной задержкой (т.е. уже не новыми).

Это гарантирует стабильность работы системы, программ и стабильную работу в целом. Без сюрпризов. Вы практически никогда не получите проблемную программу при таком подходе. А если идти прогрессивным путём, то такое вполне возможно.

Как-то я обновил Firefox и обнаружил, что у меня в браузере скроллинг перестал работать (писал об этом в телеграм-канале). А назад откатиться уже просто так нельзя, поскольку в профиле стоит проверка на версию. Обойти это я смог. Но ингода это имеет последствия. Проверка не на пустом месте стоит.


Обратная сторона тут тоже есть. Я переносил свой профиль Firefox (все пользовательские настройки) с Windows на Linux и у меня при подключении "отвалились" дополнения, поскольку с этой старой версией Firefox они не работали. А обновить браузер я не могу, поскольку в репозитории последняя доступная версия 109. А обновиться надо на 126-ую. У Mozilla свой личный репозиторий имеется. Я его в список добавил, дал ему приоритет и обновился до 126-ой версии. Но свой репозиторий не у всех и не всегда есть.

Я пользуюсь редактором кода VS Code. И он недоступен в репозитории вообще. Можно только установщик скачать с сайта разработчика. И ставился он раньше прекрасно. Сегодня я решил его удалить и скачать версию посвежее. А она устанавливаться отказалась.

установка vscode

Попытка установки через консоль прояснила проблему. Я попробовал различные способы решения вопроса, но безрезультатно.

установка vscode

В системе у меня стоит библиотека libc6-2.27, которая считается самой новой. А в новой версии пакета VS Code требуется  libc6-2.28 и выше. Последняя версия библиотеки на данный момент – 2.39.9. Понятно, что 2.27 сильно устарела. А старый VS Code я уже удалил. Решил пободаться.

Система эту libc6-2.27 заблокировала для обновления, поскольку в репозитории на неё многое завязано, обновление может навредить. Это всё мне сообщалось в консоли. Я всё же обновил её репрессивными методами. Меня очень доходчиво предупредили, что будет больно. Я настоял на своём и всё [ожидаемо] поломалось. А починиться не смогло.

Слетела работа установщика пакетов Synaptic и половина русской локали (полсистемы на английском). "Попал" на переустановку системы. Но я был к этому готов, т.к. меня уже не устраивали устаревшие версии софта и я понимал, что надо пересаживаться на прогрессивный дистрибутив. Я работаю и в линуксе и в винде, перетаскивая профили програм между системами. Часть программ просто синхронизирует профили через интернет. И устаревание репозитория тут очень мешает.

Если бы я пользовался только Peppermint OS, то проблемы бы в принципе не было. Эта сборка консервативная и проблем с ней отдельно не было вообще (а с Windows 10 были). Чтобы наглядно был понятен консерватизм:

peppermint os

Ubuntu 18.04 LTS. Дата выпуска – 26.04.2018. Дата окончания поддержки – 01.04.2023. Можно сказать, что эта сборка Peppermint 10 уже застряла в прошлом. Она будет стабильно работать сама по себе ещё лет 5 точно. Но взаимодействие с другими системами и т.п. уже под большим вопросом. Поэтому надо ставить что-то другое.

Поэтому при переходе на Linux надо прямо на берегу определиться – консервативное будет использвание или прогрессивное.

Консервативный дистрибутив вполне подойдёт для домашнего ПК, просмотра музыки, фильмов, работы с документами, фотографиями и т.п.. А вто для работы, особенно связанной с компьютерами, программированием и прочим, стабильность может выйти боком.

Важно отметить, что большинство сборок дистрибутивов, отечественных в том числе, прогрессивной политики не придерживаются. Поэтому сразу надо смотреть на чём дистрибутив основан, какой у него репозиторий и насколько там всё свежее. О том, как это выяснить и как вообще настроить рабочее пространство читайте далее.

Информация о системе

Получить краткую, но исчерпывающую информацию о системе (софте и железе) можно с помощью расширения для терминала neofetch. В некоторых дистрибутивах он предустановлен и доступен в настройках:

neofetch

Выглядит следующим образом (нужно открыть терминал):

neofetch

В моём дистрибутиве он доступен из меню, но его нет в Synaptic`е. PPA-репозиторий, который я нашёл для установки этой программы, уже неактуален.

Можно попробовать установить аналог – screenfetch:

sudo apt install screenfetch

Информация из командной строки

Если установить 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

brightness controller

Просмотр изображений XNView MP

На Windows я после продолжительных поисков идеала остановился на программе просмотра изображений FastStone Viewer. На линуксе удалось найти хороший аналог практически с тем же функционалом – XNView MP

В репозиториях её нет, скачивайте с сайта разработчика по ссылке выше. Интерфейс по умолчанию не особо привлекателен, много лишнего. Но, к счастью, всё настраивается и убирается. Включая цвета фона, шрифта, рамок и теней.

XNView MP

Более лёгкие программы можно глянуть в каталоге для Linux в подразделе Просмотр и использование изображений. Я пока искал что-то удобное и эстетичное, отобрал несколько вариантов.

Информатор Hard Info

Если нужна развёрнутая подробная информация, то лично использую утилиту Hardinfo:

HardInfo

Устанавливается следующей командой:

sudo apt-get install hardinfo

Интерфейс для управления 3G-модемом

Мне управлять модемом через трей не удобно. Во-первых, мало функций, во-вторых, иногда соединение разрывается, в-третьих, маленькое неинформативное окно.

интерфейс USB-модема

Установка нормального графического интерфейса выполняется командой:

sudo apt-get install modem-manager-gui

Выглядит всё это следующим образом:

интерфейс USB-модемаинтерфейс USB-модемаинтерфейс USB-модемаинтерфейс USB-модемаинтерфейс USB-модемаинтерфейс USB-модемаинтерфейс USB-модема

Настраивается автозагрузка. Можно и соединение проверить и трафик. И баланс запросить и sms прочитать. У меня есть другой модем от Megafon, тот после подключения доступен по адресу 192.168.0.1 и там тоже можно управлять информацией. Но только когда он определится и подключится.

А тут и список найденных модемов можно посмотреть и управлять всеми сразу. Намного гибче мобильный интернет с этим интерфейсом.

Набор спецсимволов (клавиша Compose)

В винде спецсимвол можно набрать, зажав Alt и некоторую комбинацию цифр на Num-панели. Обычно я так набираю знак умножения (×), дефис (—), знак градуса (°) и типографские кавычки («»). Знак умножения получается, например, при наборе alt+0215. Набирать надо на латинской раскладке.

На Linux есть аналогичная возможность набора при помощи клавиши Compose. Она по умолчанию выключена и её надо включать в настройках (но не во всех настройках дистрибутивов это есть).

клавиша composeклавиша compose

Не все клавиши будут работать. Левый   у меня, например, не сработал.  А правый Alt и клавиша контекстного меню работали нормально. Примеров набора комбинаций в сети достаточно. На скриншоте ниже представлены некоторые, которыми я пользуюсь:

клавиша compose

Важно учитывать, что для типографской кавычки надо дважды нажать >>, а это сочетание клавиш Shift + .

Поэтому сначала зажимается shift, затем compose и потом уже .. В этом плане самыми сложными для набора являются степени. Там надо набрать с композитной клавишей комбинацию shift+6, а затем номер степени. Получается после некоторой тренировки.

Для начала можно попробовать набрать типографские кавычки, чтобы понять принцип, а потом уже примеры посложнее. Двойной пробел с композитной клавишей даст неразрывный пробел.

Раз уж речь идёт о работе

Яндекс.Метрика