Мой переход с Windows на Ubuntu |
![]() |
Добавил(а) microsin |
Программисты Linux уже многое сделали, чтобы интерфейс пользователя был как можно удобнее. В результате наблюдается тенденция сближения общих принципов поведения (и даже некоторых аспектов внутреннего устройства) Linux и Windows. На новой работе мне пришлось пересесть с Windows на Ubuntu 20.04, и здесь решил написать о личных впечатлениях от перехода. Самая большая беда Windows, из-за которой дальнейшая работа на ней стала невозможной - очень медленная работа GNU-утилит кросс-компиляции для процессоров BEKEN и ESP32 (скрипты CMake и scons, компилятор и ассемблер gcc-arm-none-eabi-5_4-2016q3, и другие утилиты, запускаемые скриптами конфигурирования и компиляции). Даже если отключить все антивирусы и различные службы, на Windows все происходит намного медленнее, чем на Linux. Если кто-то читает эти строки, и есть опыт решения проблемы медленной компиляции на Windows, пожалуйста напишите об этом в комментарии к статье, или напишите мне на email (см. раздел "КОНТАКТЫ"). Проблема тут собственно не в Windows, а в криворуких админах, которые накатили на неё антивирус, политику безопасности и в результате в ответ на любые дисковые операции она дико тормозит. [Сравнение скорости работы Ubuntu 22.04 и Windows 10] Все сказанное далее относится к одному и тому же домашнему компьютеру, где нет проблем с кривым администрированием. Время загрузки практически не отличается. Отзывчивость системы в целом у Windows показалась лучше, чем у Ubuntu. Однако некоторые программы в Ubuntu все-таки работают быстрее. Например Android Studio загружается быстрее, процесс компиляции проекта в ESP-IDF также занимает намного меньше времени. Таким образом, если вам нужен просто компьютер для работы, например для написания программ, и компьютерное железо довольно старое (как в моем случае материнская плата ASUS P8H61 с памятью 8 гигабайт и процессором Intel Pentium G630 2.7 ГГц), то лучше все-таки Ubuntu. Вывод: если компьютер современный, и вы привыкли к Windows, то лучше дома использовать Windows 10 или Windows 11. Но на работе бывают нюансы, как в моем случае. Загадить Windows админы могли легко, а вот Ubuntu им уже не по зубам. [Что не понравилось в Linux] Дальше пойдет речь о недостатках использования Linux и о том, как их по возможности исправить или обойти. Конечно, большинство "недостатков" происходит из-за недостаточного опыта работы на новой системе, однако для накопления опыта необходимо потратить определенное время. Мне хватило двух месяцев, чтобы получить для себя вполне удобную и комфортную рабочую среду, в которой можно реализовать (почти) все, что необходимо. В основном раздражает то, что по сравнению с Windows явно недоделано. Конечно, к таким мелочам, как другие горячие клавиши, другая командная строка, другая организация системных имен и файловой системы (слеш / вместо \, другие допустимые символы в именах, другая кодировка русскоязычных имен фалов), утилита sudo, справка man, функционал find и grep быстро привыкаешь, и даже начинаешь постепенно входить во вкус. Но... Многозадачность Ubuntu для GUI-приложений все еще хромает, что довольно заметно. Например, если в редакторе текста gedit нажать Ctrl+S (сохранение файла) и после этого сразу ввести несколько символов текста, то эти символы будут теряться, пока не завершится сохранение файла. Неизвестно, чем это вызвано - криво написанный софт или проблема самой операционной системы. В случае критичных багов система намертво вешается на несколько секунд. Не хватает по-настоящему качественного ПО и ассортимента программ, доступных на Windows. Например, файловый менеджер Double Commander постарались сделать максимально похожим на Total Commander, но его функции работают далеко не так же хорошо. Больше всего не хватает функции синхронизации и сравнения файлов и каталогов, как они из коробки работают в Total Commander. Другой пример - не хватает функционала текстового редактора Notepad2, который позволяет удобно редактировать текст, манипулируя как строками, так и столбцами текста, легко перекодировать текст из одной кодировки в другую, подсвечивать символы пробела и табуляции и т. д. Сейчас пишу текст в редакторе gedit, который похож на редактор notepad2, но страдает мелкими глюками - например, в строке ввода текста для поиска не работает переключение языка ввода, из коробки работают другие комбинации клавиш [1], и т. д. Теряется текст, который был скопирован в буфер обмена из окна putty, если окно putty было закрыто из-за отключения последовательного порта. Нет удобного просмотра событий и ошибок системы по сравнению с Windows (попробуйте-ка найти что-то полезное в /var/log/syslog), функционал putty не дотягивает, нет удобных утилит бэкапа и клонирования дисков и их разделов. И глюкавость, периодически появляются сообщения о системных ошибках, наподобие следующего: Очень раздражает отсутствие баланса нагрузки между запущенными приложениями и графическим интерфейсом системы. Например, если запустить команду make, обрабатывающую сложный процесс компиляции, то загрузка процессора может возрасти до 100%, и при этом интерфейс системы окажется зависшим. Перестанет двигаться курсор мыши, перестает работать клавиатура, невозможно будет переключиться между задачами. Мало того - система может просто выкинуть пользователя из графического интерфейса, придется логиниться и начинать работу заново. Этот список можно продолжать очень долго. Конечно, с опытом и накоплением многих новых привычек такие недостатки со временем потеряют актуальность либо будут исправлены (на что очень надеюсь) и забудутся, но сейчас что есть, то есть. Telegram. Кто мне обьяснит, почему в клиенте Telegram иногда можно отравить файл перетаскиванием мышью, а иногда нельзя? При этом передача файла с помощью "скрепки" работает всегда, и на том спасибо. Double Commander. Почему окошко контекстного меню остается висеть поверх всех программ, когда произошло переключение на другое окно, которое к этому контекстному меню совершенно не относится? Убрать это висящее поверх всего контекстное меню можно только если переключиться обратно на то окно, на котором это контекстное меню появилось. Gedit. Почему пропадает окошко ввода искомой строки (когда нажали Ctrl+F), если переключить раскладку клавиатуры (Win+пробел), и нужно нажимать Ctrl+F повторно? Почему такой не функциональный поиск, когда нельзя включить чувствительность к регистру символов и поиск по слову целиком? Ctrl+S. Как убрать эту глобальную комбинацию клавиш, которая вызывает диалог свойств системы? Почему из-за этого безобразия функция сохранения файла по этой горячей клавише вызывает дополнительно и это окно (например в VSCode)? [Заметки] 1. Клавишу Win на клавиатуре в Linux обычно называют "Super". 2. Правая кнопка на ярлычке -> "Добавить в избранное" добавит этот ярлычок на левую панель запуска. 3. Права на выполнение скрипта устанавливаются командой chmod +x имяскрипта. Также можно воспользоваться удобным контекстным меню Double Commander (правый клик на файле). 4. Создание переменных присвоением VAR1=значение работает только для текущей сессии терминала, а export VAR1=значение работает и для всех дочерних сессий. Команда export в скрипте позволяет сохраняться переменным в текущем окружении после завершения работы скрипта. 5. Команда printenv показывает переменные окружения текущей сессии терминала (аналогичная команда set для Windows). Примеры просмотра переменных окружения: $ printenv
$ echo $ИМЯПЕРЕМЕННОЙ Подробнее про настройку и просмотр переменных окружения см. []. 6. Чтобы из скрипта поменять директорию, надо запускать его через команду source, или через . и пробел (см. Q007 далее, секция "Запуск "через точку", команда source"). 7. Как узнать, какая установлена графическая оболочка: $ echo $XDG_CURRENT_DESKTOP ubuntu:GNOME 8. Чтобы быстро сделать снимок рабочего стола, окна или области на экране, используйте эти глобальные комбинации клавиш: Print Screen делает скриншот всего рабочего пространства. При использовании этих комбинаций клавиш изображение автоматически будет сохранено в папку Изображения, имя файла с изображением начинается со слов "Снимок экрана от" и содержит дату и время снимка. Если папка Изображения не существует, изображения будут сохраняться в домашний каталог. Можно также удерживать нажатой Ctrl при использовании одной из описанных выше комбинаций клавиш, чтобы вместо сохранения снимка экрана скопировать его в буфер обмена. 8. Настройка putty для копирования и вставки текста. Стандартное копирование выделением: свойства сессии -> Window -> Selection -> поставить галочку "Auto-copy selected text to CLIPBOARD". Контекстное меню для выделенного текста доступно при удерживании Ctrl и правом клике мыши. Вставка текста делается средней кнопкой мыши. 9. Как сравнить 2 файла: $ meld файл1 файл2
$ wdiff файл1 файл2
$ diff файл1 файл2 10. Настройки Double Commander, чтобы он работал почти как Total Commander: (a) В глобальных настройках горячих клавиш переназначить комбинацию Alt+F7 на Super+F7, чтобы мог работать стандартный запуск поиска файлов. 11. Подключенные флешки/диски появляются в каталоге /media. Подключенные томы veracrypt появляются в папке имяпользователя/veracryptN. 12. Конвертеры и кодировки: enca, iconv, piconv, locale. 13. Часто окна и закладки в приложениях закрываются Ctrl+W, а не Ctrl+F4. 14. Раскладка клавиатуры по умолчанию переключается через Super + Пробел. Поменять на Ctrl+Shift можно с помощью утилиты Gnome Tweak Tool [4]. 15. Копирование и вставка текста в x-terminal-emulator (Ctrl + Alt + T) по умолчанию работает через контекстное меню, что довольно неудобно. К сожалению, в терминале x-terminal-emulator не получится легко настроить стандартное копирование и вставку текста Ctrl+C и Ctrl+V. Можно настроить горячие клавиши копирования и вставки через меню Параметры -> Комбинации клавиш (например Super+С, Super+V). Приходится привыкать, увы. 16. Нажмите Alt + F7 чтобы переместить окно, или Alt + F8, чтобы изменить его размер. Переместите окно или измените размер клавишами со стрелками, затем нажмите Enter для завершения операции или Esc, чтобы вернуться к исходному положению и размеру. Разверните окно, перетащив его к верху экрана. Также можно удерживать кнопку Win (Super), и перетаскивать окно левой кнопкой мыши. 17. Посмотреть все процессы можно командой ps: $ ps -A
Процессы текущего пользователя можно посмотреть командой: $ ps -u
18. Посмотреть, к каким группам принадлежит текущий пользователь: $ groups
Посмотреть список всех пользователей: $ compgen -u Посмотреть список всех групп: $ compgen -g 18. Все ярлычки, которые видит пользователь, когда нажимает на кнопку «Пуск», описаны здесь [8]: /usr/share/applications/ общесистемные ярлыки приложений, видны всем пользователям; [Горячие клавиши] Alt + F1 выводит удобное меню поиска и запуска приложений. Альтернативный способ переключения между окнами Alt + Esc. Он удобнее, чем Alt + TAB. Часто окна и закладки в приложениях закрываются Ctrl+W, а не Ctrl+F4. Раскладка клавиатуры по умолчанию переключается через Super + Пробел. Поменять на Ctrl+Shift можно с помощью утилиты Gnome Tweak Tool [4]. Нажмите Alt + F7 чтобы переместить окно, или Alt + F8, чтобы изменить его размер. Переместите окно или измените размер клавишами со стрелками, затем нажмите Enter для завершения операции или Esc , чтобы вернуться к исходному положению и размеру. Разверните окно, перетащив его к верху экрана. Также можно удерживать кнопку Win (Super), и перетаскивать окно левой кнопкой мыши. [Мои нерешенные проблемы] 1. При включении каждый раз надо заново вводить логин в приглашении. Вопрос: можно ли от этого избавиться? Возможен ли на Linux автологин, как на Windows? 2. При старте каждый раз запускается Pidgin 2.13.0. Как отключить? 3. Кракозябры на русских именах файлов Windows. И наоборот - Windows 10 тоже показывает русскоязычные имена файлов, которые были созданы на Ubuntu, кракозябрами. 4. Почему не работают некоторые горячие клавиши Double Commander? Например Alt+F5? 5. Как сделать ярлычок, который будет запускать терминал и в нем нужный скрипт? 6. На экране блокировки нет индикации, включен ли CapsLock. Для беспроводной клавиатуры это актуально. Приходится кликать на «глазок», чтобы был виден ввод символов. 7. При включении на двух подключенных, стоящих рядом мониторах рабочие столы поменяны местами. Как это исправить, непонятно. После успешного логина мониторы рабочие столы возвращаются на правильные места. 8. Индикатор en/ru находится в неудобном месте, справа вверху экрана. 9. Как во всей системе глобально настроить стандартные клавиши работы с буфером обмена для вставки и копирования? 10. Как настроить putty и x-terminal-emulator, чтобы у них копирование и вставка текста работали одинаково привычно, как работает это в putty на Windows? Надо чтобы выделение текста мышью автоматически заполняло этим текстом буфер обмена, а правый клик делал вставку текста из буфера обмена. 11. Как запускать putty в качестве локального терминала? 12. Почему имена, начинающиеся с !, отображаются с одинарными кавычками? 13. Звуковой редактор Audiocity я установил простой распаковкой скачанного архива. Как сделать ярлык на рабочем столе для запуска Audiocity? 14. В каком файле прописаны глобальные комбинации клавиш? 15. Process Explorer для Ubuntu? [Ссылки] 1. Как поменять горячие клавиши gedit. |