Список советов по оптимизации Ubuntu 14.04. Цель которых повысить скорость ее работы и удобство ее использования.
Автозагрузка программ в Ubuntu 14.04
Уже давно, в Убунту, есть графический интерфейс для управления автозапуском программ. Это программа "Автоматически запускаемые приложения" (gnome-session-properties). Найти ее можно в главном меню Dash. Но в этой программе отображаются не все автоматически запускаемые программы. Часть из них скрыта. Чтобы это исправить нужно, в терминале, выполнить две команды:
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
sed -i 's/NoDisplay=true/NoDisplay=false/g' ~/.config/autostart/*.desktop
После этого, в программе "Автоматически запускаемые приложения" будут видны все автоматически запускаемые программы:
Отключайте программы осторожно. Если не знаете назначение программы, которую хотите отключить, найдите информацию о ней и прочитайте, прежде чем отключать.
Примечание по автозагрузке программ
В Ubuntu используется два типа автозагрузки:
- Автозагрузка вместе с графической оболочкой (Unity, GNOME и т.п.).
- Автозагрузка вместе с ядром системы, в текстовом режиме.
Программа "Автоматически запускаемые приложения" управляет первым типом загрузки. Физически же такая загрузка выполняется через .desktop файл программы (аналог ярлыков Windows), который помещается в одну из двух папок:
- /etc/xdg/autostart
- ~/.config/autostart
Из первой папки программа будет запущена для любого пользователя. Из второй папки программа будет запущена только для того пользователя, в чьей домашней папке будет размещен ярлык программы.
Можно в эти папки копировать ярлыки нужных программ даже вручную. Ярлыки всех доступных программ размещены в папке /usr/share/applications (из этой папки их берет Dash). После копирования ярлыка в нем нужно для свойства "X-GNOME-Autostart-enabled" указать значение true.
Предварительная загрузка программ на старте Ubuntu
Есть специальные программы, которые управляют очередностью загрузки программ в процессе старта операционной системы. Они упорядочивают размещение загружаемых бинарных программных файлов таким образом, чтобы снизить их фрагментацию в пределах файловой системы. Снижение фрагментации ускоряет стартовую загрузку ОС.
Во многих советах по оптимизации Ubuntu упоминают программу preload. Ее установку можно выполнить через терминал:
sudo apt-get install preload
sudo touch /var/lib/preload/preload.state
sudo chmod 644 /var/lib/preload/preload.state
/etc/init.d/preload restart
Однако прямо "из коробки" в Ubuntu устанавливается еще одна программа для этой же задачи - ureadahead. Нужно только включить ее автозапуск.
Примечание
Использование таких программ имеет смысл только в том случае если на компьютере установлен механический (HDD) диск. Если диск электронный (SSD), тогда смысла в этих программах нет, поскольку на SSD дисках фрагментация файлов очень слабо отражается на скорости их загрузки.
Уменьшить размер системных журналов (логов) Ubuntu
Ubuntu ведет целую кучу журналов. Как системных, так и журналов отдельных программ и служб.
Как правило все эти журналы хранятся в папке /var/log. Если эта папка размещена на разделе root (/) то в некоторых случаях возможно такое увеличение размера этой папки, когда будет забито все свободное место на разделе root, вплоть до невозможности запуска операционной системы. Это нетипичная ситуация, но такое случается.
Поэтому лучше настроить систему хранения журналов таким образом, чтобы снизить объем хранимой информации.
Лучше это сделать через настройку специальной программы logrotate. Эта программа удаляет архивные копии журналов с указанной периодичностью. Настройки программы хранятся в папке /etc/logrotate.d. Каждый файл в этой папке определяет управление журналами конкретной программы. Например файл /etc/logrotate.d/rsyslog это управление системными журналами. Для уменьшения размера хранимых журналов, в этих файлах нужно указать параметры rotate 0 и daily. Можно также добавить и ограничение по размеру журнала, например size 10M (10 мегабайт).
sudo gedit /etc/logrotate.d/rsyslog
И затем отредактировать этот файл. Так же можно сделать с другими файлами в этой папке. Можно изменить глобальные настройки для программы logrotate, через файл /etc/logrotate.conf.
После изменения настроек ротации журналов, можно удалить все старые журналы (логи). Команда в терминале:
sudo find /var/log -type f -name "*.gz" -delete
Tmp папку в оперативную память
Можно переместить папку временных файлов в оперативную память. Через редактирование файла fstab:
sudo gedit /etc/fstab
и добавить строку tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
Однако делать это нужно с осторожностью.
Во-первых оцените текущий размер этой папки (на диске) - быть может она "съест" слишком много оперативной памяти.
Во-вторых в этой папке какие-то программы могут хранить данные, которые они используют после перезапуска системы.
Использование swap на диске
Можно изменить условия при которых система начинает использовать дисковый swap. По умолчанию, Ubuntu начинает использовать дисковый swap, когда оперативная память занята на 40% или более. Можно изменить это поведение.
sudo gedit /etc/sysctl.conf
и в конец файла добавить строку: vm.swappiness=10
Затем выполнить перезагрузку параметров: sudo sysctl -p
Параметр vm.swappiness=10 указывает, что дисковый своп будет использован при заполнении оперативной памяти на 90%.
Изменение параметров кэширования записи на диск
Ubuntu кэширует (в оперативную память) все операции записи на диск. И затем выполняет их в отложенном режиме. Управляя настройками кэша записи можно ускорять работу системы с риском потери данных. Или наоборот замедлять работу, уменьшая риск потери данных. Есть несколько параметров кэширования записи на диск, при помощи которых можно получать различные эффекты.
Основные параметры:
- vm.dirty_background_ratio - размер оперативной памяти для размещения подготовленных для записи страниц кэша.
- vm.dirty_ratio - размер оперативной памяти для размещения общего кэша записи.
Вспомогательные параметры:
- vm.dirty_expire_centiseconds - указывает интервал времени нахождения подготовленных для записи страниц кэша в памяти.
- vm.dirty_writeback_centisecs - указывает интервал времени по истечении которого системный процесс, выполняющий сброс кэша на диск, выходит из спящего режима и проверяет необходимость выполнения операций сброса кэша на диск.
Все эти параметры записываются в файл sudo gedit /etc/sysctl.conf.
Пример 1. Увеличение размера кэша записи (ускорение работы системы):
- vm.dirty_background_ratio = 50
- vm.dirty_ratio = 80
Пример 2. Уменьшение размера кэша записи:
- vm.dirty_background_ratio = 5
- vm.dirty_ratio = 10
Узнать текущие значения этих параметров можно командой sysctl -a | grep dirty.
Изменять эти параметры нужно с осторожностью. Четко понимая их взаимное влияние, их связь с размером оперативной памяти, а также возможные побочные эффекты.
Увеличение размера кэша или интервалов времени может привести к потере данных при отключении питания или критическом сбое системы.
Большой размер кэша в комплексе с большим объемом запросов на запись может периодически создавать ситуацию когда будут на длительное время блокироваться запросы на запись, поскольку системе нужно будет сбросить на диск большой объем данных из заполненного кэша.
Ускорение меню Dash
Можно отключить поиск в Интернет-источниках когда вы пишите что-то в поисковой строке меню Dash. Через графический интерфейс: "Настройки - защита и приватность - поиск: отображать результаты поиска в Интернет".
Или через терминал: gsettings set "com.canonical.Unity.Lenses" remote-content-search none.
Кроме этого можно отключить и поиск коммерческих предложений в онлайн-магазинах. Команда в терминале:
gsettings set "com.canonical.Unity.Lenses" disabled-scopes "['more_suggestions-amazon.scope','more_suggestions-u1ms.scope','more_suggestions-populartracks.scope', 'music-musicstore.scope','more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope','more_suggestions-skimlinks.scope']"
Добавить кодировку Windows в текстовый редактор Gedit
Чтобы не было "кракозябр", при открытии текстовых файлов Windows, в редакторе Gedit нужно добавить кодировку Windows-1251. Команда в терминале:
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
Скроллбары Unity традиционного вида
По умолчанию, в Unity, скроллбары скрываемые. Но можно сделать чтобы они были видны постоянно. Команда в терминале:
gsettings set com.canonical.desktop.interface scrollbar-mode normal
Простой MP3 плеер под Ubuntu
Из коробки в Ubuntu устанавливается музыкальный плеер rhythmbox. Он довольно большой и не особо удобный, в нем лишнего много. Можно его удалить и установить более простой и удобный плеер.
sudo apt-get remove rhythmbox
sudo apt-get install Audacious
Audacious небольшой плеер без лишних наворотов:
Или QMMP:
sudo apt-get install qmmp
Добавление клавиатурных сокращений для запуска программ
Часто используемые программы, как например Наутилус, можно запускать с клавиатуры, если назначить сочетание клавиш. Это делается через графический апплет "Настройки - Клавиатура - Комбинации клавиш":
В секции "Дополнительные комбинации" можно добавлять свои команды запуска и связывать их с клавишами.
Вначале добавляется команда. Затем, в списке команд, на нужной строке кликнуть мышью и нажать нужное сочетание клавиш.
Свернуть все окна (Открыть Рабочий стол) в Ubuntu
В Ubuntu 14.04, по умолчанию, свернуть все открытые окна можно с клавиатуры: Ctrl + Win + D. Кроме этого можно добавить кнопку на панель запуска, которая будет выполнять это же действие. Это делается через графический апплет "Настройки - Оформление - Режим":
Сочетание клавиш Ctrl + Win + D, на мой взгляд, неудобно. В Windows используется Win + D (такое сочетание было и в 11-х версиях Ubuntu). Для того чтобы изменить это сочетание нужно установить программу compizconfig-settings-manager. Затем запустить ее и в разделе "Рабочий стол" открыть "Ubuntu Unity Plugin". Параметр "Show desktop" определяет сочетание клавиш для этого действия:
Для энтузиастов
Для тех, кто любит углубиться в настройки, могу посоветовать пару программ.
gsettings
Консольная программа. Дает возможность изменять большое количество параметров системы. Настройки организованы в виде дерева - схемы, в схемах ключи, которым можно присваивать значения.
Команда gsettings help выдаст список параметров. Например gsettings list-recursively выдает общий список схем, ключей и текущих значений.
dconf
Графическая программа. Также позволяет изменять системные настройки. Эту программу нужно устанавливать (sudo apt-get install dconf).
Другие статьи об Ubuntu
Установка Skype в Ubuntu 14.04, 16.04 и 18,04
Установка Ubuntu 14.04 поверх Windows 8