Как сделать linux плавнее
Избавляемся от тиринга в Linux
Большинство пользователей Линукс систем, конечно же знают о существовании такой проблемы, как разрыв экрана или tearing. Основной, и наиболее вероятной причиной данного «недуга», является X-сервер. Да, Wayland уже вполне себе работоспособен, но от Иксов пока ещё способны отказаться не все. Но не одним X-сервером жив тиринг. Следующей причиной оного может послужить драйвер GPU. Наиболее частым виновником разрывов является, как ни странно, самый популярный производитель видеокарт — NVIDIA и его видеодрайвера. Третьим виновником возниковения тиринга в Linux является окружение рабочего стола, со своими багами и фичами. Ну вот мы вкратце разобрались с классическим вопросом: «Кто виноват?», далее попробуем разобраться с не менее класическим: «Что делать?».
Тиринг NVIDIA
Сразу обращу ваше внимание, что это не единственное решение для NVIDIA, и, конечно, найдутся десятки ситуаций, в которых этот метод не поможет, но это один из наиболее часто спасающих вариантов, и он не полагается на графическую утилиту NVIDIA, которая иногда ломает конфигурацию среды рабочего стола.
Для начала вам нужно включить настройку модуля NVIDIA DRM (modsetting). Начните с создания файла конфигурации в каталоге modprobe:
Затем правим его в любом удобном вам текстовом редакторе, и добавляем там следующую строку:
Затем чтобы ядро получило информацию о наших манипуляциях делаем в терминале:
Тиринг Intel
Графика Intel в Linux обычно не составляет больших проблем. Вероятно, это связано с тем, что интегрированная графика обычно имеет меньше функций, а стек драйверов Intel вообще поставляется с открытым исходным кодом. Для устранения тиринга на Intel найдите и исправьте у себя конфигурационный файл, примерно по такому пути /etc/X11/xorg.conf.d/20-intel.conf (в различных системах он может находиться в различных каталогах). Исправьте в нём раздел «Device» таким образом:
После чего сохраните и перезагрузитесь.
Тиринг AMD
xfce тиринг
Для начала отключим стандартный композитный менеджер «Крыски» для этого выполним в терминале:
Или пройдём в настройки XFCE, в настройки менеджера окон, и снимем чекбокс с Enable display compositing, как на изображении ниже.
далее установим Compton, независимый композитор, который очень хорошо работает с легковесными окружениями рабочего стола. Дам команды для двух веток Linux, но думаю что ни для кого ни составит труда установить пакет в свой дистрибутив.
Debian и производные
Arch linux и производные
Вернёмся к настройкам XFCE. На этот раз нажмите “Сеанс и запуск.” (Session and Startup) Добавить Compton в автозапуск, для этого добавим в атвозапуск комптон со следующим ключем:
После чего перезагружаемся и проверяем работает ли Compton:
Если всё норм, проверяем работает ли тиринг =)
Если тиринг в XFCE не пропал, то пробуем отредактировать файл
/.config/compton.conf, в моём случае он такой:
По идее разрывы должны пропасть, если не пропали, значит что-то пошло не так. Ищите дальше, ведь это Линукс, за всё нужно платить=)
kde тиринг
KDE, является моим любим рабочим окружением. В нём есть такое огромное количество, так нужных пользователям, элементов управления, что с помощью GUI Панели управления можно настроить практически всё. Откройте приложение Настройки и найдите «Display and Monitor». Там выберите «Compositor». Найдите параметр «Предотвращение разрыва vsync»(Tearing prevention «vsync» и установите для него значение «Перерисовка всего экрана” (Full screen repaints). После этого нажмите «Применить» (Apply).
Нередко Kwin, оконный менджер KDE, тоже становится причиной тиринга. Если не после предыдущих манипуляци разры картинки не пропал, то создалим файл /etc/profile.d/kwin.sh следующего содержания:
export KWIN_TRIPLE_BUFFER=1
Перелогиньтесь и всё должно стать гладко.
Firefox тиринг
Удостоверьтесь, что тиринг у вас присутствует только в браузере Firefox, с помощью данного видео выполните проверку на тиринг просмотрев в 1080p60:
если при просмотре видео, изображение будет рваться то переходите к следующим манипуляциям:
1) Откройте about:config в Firefox
2) Найдите layers.acceleration.force-enabled
3) Измените значение(Value) на true.
4) Перезагрузите браузер
Гик, хакинтошник, линуксоид, считаю себя flutter разработчиком. Завёл канал, в котором изначально хотел показывать как я с нуля и до бесконечности погрузился в дорвей тематику, а в итоге просто рассказываю о себе, своих успехах и неудачах в сайтах, приложениях, офлайн проектах. Добро пожаловать в https://www.youtube.com/channel/UCbrTUrElICx4pewX0NbolmQ
3 thoughts on “ Избавляемся от тиринга в Linux ”
Спасибо за руководства. Избавился от тиринга в фаерфокс. Как поменять настройки для AMD не понял. Не хватает информации.
Думал, что дело именно в firefox но менять настройки в about:config ничем успешным не закончились, решил попробовать compton и вся система стала супер плавно скролиться. Автору огромное спасибо!
Debian 10 stable и KDE, видюха Nvidia RTX 2060, монитор 144 гц. В общем имеется полный набор этих проблем: тиринг и тормозной фпс интерфейса (окон и анимаций). Но, вроде как починил (думаю по поводу тормозного фпс способ поможет и на Intel с AMD). Чтобы фиксануть тиринг, все как в статье, ставим дрова нвидиа, ставим там ForceCompositionPipeline, после этого в принципе тиринга нет, но полоска на этом видео (Video tearing and smoothness test @60fps) как будто бы дергается, ну и интерфейс тормозной все равно. Если в KDE включить в эффектах «График производительности», то он показывает 72 фпс. В общем, чтобы интерфейс стал плавным на 144 гц, нужно отредактировать файл оконного менеджера KWin от рута (например через sudo nano) по адресу /home/user/.config/kwinrc (разумеется вместо user имя вашего пользователя), и там в конец секции [Compositing] добавить следующие строки: MaxFPS = 200, RefreshRate = 200. Наверное фпс можно и больше, но я разницы с 500 не заметил, а 200 поставил чтоб заведомо было больше частоты монитора. В любом случае, этот график kdeшный показывает 100 фпс максимум, так что я не знаю, мб выше 100 он и не становится, но плавнее в разы становится, как на 10 винде (и ролик тоже стал плавным).
Настраиваем любой Linux под себя одной командой
Иногда приходится настраивать различные *unix системы: персональные компьютеры, VPS, Raspberry Pi и так далее. Но когда их становится много, настраивать их становится всё сложнее и сложнее. Поэтому хочется автоматизировать этот процесс. В данной статье я расскажу, как я решил подобную проблему, расскажу про некоторые существующие решения, а также покажу магию bash!
Проблема
Приведём несколько часто встречающихся случаев, когда надо настроить linux под себя, то есть установить пакеты различными способами, настроить их (с помощью команд или изменяя конфиги).
VPS. Когда ты покупаешь облачный сервер, то он обычно пуст. Там почти никогда нет того, что тебе нужно: docker, docker-compose, настроенного VPN или почтового сервера. Не для всего нужен k8s с возможностью резервирования дополнительных мощностей, да и настройка подобной инфраструктуры занимает время.
Персональный компьютер, виртуальные машины. Если вы предпочитаете операционные системы на основе Linux, то вам наверняка не раз приходилось пробовать новые дистрибутивы и сборки. И со временем вы обрастаете полезным инструментарием для работы на них. Но если вы вдруг купите новое железо или друзья попросят поделиться наработками? А может, у вас навернулся SSD или вы потеряли рабочий ноутбук?
Установка и настройка одного и того же на различные дистрибутивы. Не все программы можно одинаково легко и безболезненно установить и настроить одновременно на Arch Linux и Debian. И если вы захотите перейти с Ubuntu на Arch Linux, то могут возникнуть сложности, и большие
Сборка и установка пакетов из исходного кода. Нередко, чтобы получить актуальную или конкретную версию программы, нет иного способа, кроме как клонировать репозиторий, установить зависимости, собрать программу, установить её, а после настроить под себя. А иногда зависимости тоже необходимо собирать вручную. Это становится проблемой, когда весь процесс надо повторить на других машинах.
Таким образом, хотя проблема не самая острая, но иногда хочется просто написать скрипт или скопировать последовательность введённых в терминал команд, чтобы потом запускать нужный скрипт не думая о последствиях.
Пример такого скрипта на bash:
Скрипт простой и рабочий, хотя и не лишён недостатков, например, в плане безопасности.
Хотя для большинства пакетов и не требуется ввода несколько команд, но иногда приходится часами разбираться с проблемами в зависимостях тех или иных пакетов. Настраивать их под себя и так далее.
Решения
Решают эту проблему по-разному. Приведу несколько интересных способов, что мне запомнились:
Свой дистрибутив/ядро/сборка. Собственные сборки на все случаи жизни.
Мнение: Трудоёмко и сложно в настройке и обновлении, но максимально стабильно и самый лучший способ кастомизации.
Свой универсальный пакет. В пакеты можно встраивать и скрипты для конфигурации. Что мешает создать пакет mydesktop, который при установке будет устанавливать и настраивать все ваши любимые программы.
Мнение: Менее трудоёмко, чем свой дистрибутив, но требует для настройки CI/CD для выпуска пакетов. Удобен для обновления и миграций конфигурации множества машин.
Скрипты на Python. С помощью таких библиотек как: Fabric, Invoke, Plumbum, Ansible и subprocess.
Мнение: Более гибкий способ, чем скрипты и собственно команды. Можно создать, например, универсальный пакетный менеджер, фасад для работы во всеми существующими. Но требует предварительной установки Python на машину (если ею не управляют через SSH).
Написать скрипты на Bash.
Допустим у нас есть 3 скрипта: install-docker.sh, install-wireshark.sh, install-tmux.sh.
Хотим создать из них 2 итоговых скрипта: desktop.sh и server.sh. В первый включить все существующие скрипты, а во второй только install-docker.sh и install-tmux.sh
Реализовать на bash это достаточно просто:
Теперь мы можем запустить этот скрипт и получить на выходе 2 скрипта для конфигурации.
Создадим папку scripts и все скрипты будем хранить там:
Теперь составим список всех скриптов в папке, чтобы всегда можно было добавить что-нибудь ещё и добавим список для выбора (whiptail) для наглядности:
Результат
Абсолютный путь до исполняемого скрипта SCRIPTPATH необходим, если скрипт будет запускаться из произвольного места.
Осталось только выделенные скрипты собрать в один:
Таким образом, мы получили простой скрипт для сборки скриптов для установки и настройки.
Заключение
Но простого скрипта для слияния нескольких файлов недостаточно, чтобы это было полезно для повседневной жизни. Вот что ещё предстоит реализовать для этого:
Зависимости из других скриптов. Например, чтобы использовать скрипт install-docker-compose.sh для начала надо использовать install-docker.sh.
Логирование и работа с исключениями
Скрипты могут работать по-разному для различных систем. Поэтому скрипты, как минимум, должны знать:
Какие в системе установлены пакетные менеджеры
Какой дистрибутив используется
Возможность в итоговый скрипт запаковывать дополнительные файлы (например, конфигурационные файлы)
Способы публикации созданных конфигурационных скриптов и доставки на устройства
Если вам интересно, как это всё можно реализовать на чистом bash, то можете написать комментарии, что конкретно вам больше всего интересно. А так же можете посмотреть что в итоге у меня вышло: Oh my Linux!
Под конец хочу ещё раз напомнить, что в данной статье не преследуется цель создать аналог новый Fabric или Ansible, но на чистом Bash. Тут я делюсь, своими заметками о том, что Bash тоже интересный и вполне рабочий инструмент, на котором можно создавать проекты.
10 советов как ускорить Ubuntu Linux
Возможно, вы столкнулись с тем, что после некоторого времени использования Ubuntu, система начинает работать медленно. В этой статье мы увидим несколько подсказок и советов, которые помогут ускорить работу Ubuntu.
Прежде чем мы рассмотрим, как улучшить общую производительность системы в Ubuntu, давайте сначала подумаем, почему система становится медленнее с течением времени. Для этого может быть несколько причин. У вас может быть скромный компьютер с базовой конфигурацией. Возможно, вы установили несколько приложений, которые потребляют ресурсы во время загрузки. Фактически, может быть бесконечно много факторов, влияющих на скорость работы.
Здесь я перечислил несколько небольших изменений, которые помогут вам немного ускорить Ubuntu. Существуют также некоторые передовые методы, которые вы можете использовать для обеспечения более плавной и эффективной работы системы. Вы можете выбрать, следовать за всем или за некоторыми из них. Все они немного плавности и скорости в работе с Ubuntu.
Я использовал эти настройки со старой версией Ubuntu, но я считаю, что то же самое можно использовать и в других версиях Ubuntu, а также в других дистрибутивах Linux, которые основаны на Ubuntu, таких как Linux Mint, Elementary OS Luna и т.д.
1. Уменьшите стандартное время загрузкки grub:
Утилита grub даст вам 10 секунд на переключение между операционными системами с двойной загрузкой или на восстановление и т.д. Для меня это слишком много. Это также означает, что вам придется сидеть рядом с компьютером и нажать клавишу enter для загрузки в Ubuntu как можно скорее. Немного времени, не так ли? Первый фокус в том, чтобы изменить время загрузки. Если вам удобнее пользоваться графическим интерфейсом пользователя, прочитайте эту статью, чтобы изменить время перезагрузки и порядок загрузки с помощью Grub Customizer.
Для остальных, вы можете просто воспользоваться следующей командой, чтобы открыть конфигурацию grub:
И измените значение GRUB_TIMEOUT=10 на GRUB_TIMEOUT=2. При этом время загрузки изменится на 2 секунды. Не ставьте здесь 0, так как вы потеряете право на изменение между ОС и опциями восстановления. После изменения конфигурации grub воспользуйтесь следующей командой для применения изменений:
2. Настройте приложения автозагрузки:
Некоторые из приложений запускаются при каждом запуске и, конечно же, ресурсы будут заняты запуском этих приложений. Как результат: медленная загрузка системы при каждом включении компьютера. Зайдите в Unity Dash и найдите Startup Applications:
Посмотрите, какие приложения загружаются при запуске. Теперь подумайте, есть ли приложения, которые вам не нужно запускать каждый раз при загрузке в Ubuntu. Не стесняйтесь, удаляйте их:
Но что делать, если вы не хотите удалять приложения из автозагрузки? Например, если вы установили один из лучших индикаторов для Ubuntu, вы захотите, чтобы они запускались автоматически при каждой загрузке.
Что вы можете сделать здесь, так это отложить некоторые запуски некоторых программ. Таким образом, вы освободите ресурс во время загрузки и через некоторое время ваши приложения будут запущены автоматически. На предыдущем рисунке нажмите кнопку Изменить и измените команду запуска с опцией перехода в спящий режим.
Например, если вы хотите отложить запуск индикатора Dropbox, скажем, на 20 секунд, вам просто нужно добавить команду, например:
3. Установите preload для ускорения загрузки приложений:
После установки перезагрузите компьютер и забудьте об этом. Он будет работать в фоновом режиме.
4. Выберите лучшее зеркало для обновлений приложений:
Хорошо бы убедиться, что вы используете лучшее зеркало для обновления программного обеспечения. Репозиторий программного обеспечения Ubuntu использует глобальные зеркала, и вполне желательно использовать то, которое находится рядом с вами. Это приведет к более быстрому обновлению системы, так как сократит время на получение пакетов с сервера.
На вкладке Software & Updates->Ubuntu Software->Download From выберите Other и затем нажмите Select Best Server:
Утилита проведет тест и скажет вам, какое зеркало является лучшим для вас. Обычно лучшее зеркало уже настроено, но, как я уже сказал, нет ничего плохого в его проверке. Также это может привести к некоторой задержке в получении обновлений, если не часто обновляется ближайшее зеркало, на котором хранится кэш репозитория. Это полезно для людей с относительно медленным подключением к Интернету. Вы также можете воспользоваться этими советами, чтобы ускорить скорость Wi-Fi в Ubuntu.
5. Используйте apt-fast вместе с apt-get для более быстрых обновлений:
6. Удалите языковые зависимости ign из apt-get update:
Вы когда-нибудь обращали внимание на вывод sudo apt-get update? В нем есть три блока: hit, ign и get. Вы можете прочитать их значение здесь. Если вы посмотрите на строки IGN, вы увидите, что большинство из них связаны с языковым переводом. Если вы используете все приложения на английском языке, то нет абсолютно никакой необходимости в переводе базы данных пакетов с английского языка на английский.
Если вы подавите связанные с этим языком обновления из apt-get, это немного увеличит скорость обновления apt-get. Для этого откройте следующий файл:
И добавьте следующую строку в конец файла:
7. Уменьшите перегрев:
Перегрев является распространенной проблемой в компьютерах в наши дни. Перегретый компьютер работает довольно медленно. Потребуются годы, чтобы открыть программу, когда ваш кулер процессора работает как Usain Bolt. Есть два инструмента, которые можно использовать для снижения перегрева и, таким образом, повышения производительности системы в Ubuntu, TLP и CPUFREQ.
Для установки и использования TLP используйте следующие команды в терминале:
Для установки индикатора CPUFREQ используйте следующую команду:
Перезагрузите компьютер и используйте режим энергосбережения Powersave:
8. Настройте LibreOffice, чтобы сделать его быстрее:
Если вы частый пользователь офисного пакета, то вам может понадобиться немного изменить стандартную настройку LibreOffice, чтобы сделать его быстрее. Здесь вы будете настраивать память. Откройте LibreOffice и перейдите в меню Tools->Options. В левой боковой панели выберите Память и включите функцию Systray Quickstarter, а также увеличьте выделение памяти.
9. Если возможно, используйте легковесное окружение рабочего стола
Если вы решили установить окружение рабочего стола GNOME по умолчанию, вы можете выбрать облегченную среду рабочего стола, такую как Xfce или LXDE.
Эти окружения потребляют меньше оперативной памяти и процессорного времени. Они также поставляются с собственным набором легких приложений, которые помогают быстрее запускать Ubuntu.
Конечно, рабочий стол может выглядеть не так современно, как Unity или GNOME. Это компромисс, на который вы должны пойти.
10. Используйте более легкие альтернативы для некоторых приложений
Некоторые из стандартных или популярных приложений являются ресурсоемкими и могут не подходить для компьютеров низкого класса. Что вы можете сделать, так это использовать несколько альтернатив этим приложениям. Например, используйте AppGrid вместо Ubuntu Software Center. Используйте Gdebi для установки пакетов. Используйте AbiWord вместо LibreOffice Writer и т.д.
На этом сборник советов по ускорению Ubuntu 18.04, 16.04 и других версий завершается. Я уверен, что они обеспечат в целом лучшую производительность системы.
У тебя есть какие-то трюки в рукавах, чтобы ускорить Убунту? Эти советы тебе тоже помогли? Делитесь своими взглядами. Вопросы, предложения всегда приветствуются. Не стесняйтесь заглянуть в раздел комментариев.
Уроки Linux
Linux для начинающих / Урок #1 – Что такое дистрибутивы, Bash Shell и Ubuntu?
Видеоурок
ОС Linux
Данная операционная система была разработана Линусом Торвальдсом. Его идея создать открытую операционную систему стала культовой и уже с первых дней Linux обрел множество поклонников. На момент её создания, а это 1991 год, главным конкурентом была ОС Windows.
ОС Windows сейчас и ранее проповедует идею закрытой ОС, что должна покупаться по отдельности для каждого ПК. И в таком контексте новая, полностью открытая ОС не могла не произвести фурора. Линус Торвальд в то время еще шутил: «В мире без стен – окна не нужны». Крутая отсылка на продукт от Microsoft ✔
Идея ОС Линукс в её открытости.
Линукс – это семейство Unix-подобных операционных систем. Unix – торговая марка, что обозначает семейство многозадачных и многопользовательских операционных систем. Простыми словами, Unix системы изначально разрабатывались под многопользовательские многозадачные системы. Это позволяет одновременно работать сразу с несколькими терминалами, разными людьми, при этом каждый из них может выполнять свои действия, что будут использовать ресурсы одного общего ПК.
Простой пример
На Виндовс у вас всегда есть один экран. Это главный экран, на котором можно открывать приложения. В Unix системах вы всегда можете иметь множество окон и на каждом из них может быть выполнена своя определенная работа.
Кстати, операционная система Mac OS разработана на основе семейства Unix. Считается, что как раз этот фактор позитивно выделяет всю систему и делает ее более плавной и удобной в сравнении с Виндовс.
Почему Линукс выбирают программисты?
Windows обогнала Linux и стала общепризнанным стандартом по причине своей портативности. Её легко можно установить и она идеально подходит для ежедневного использования.
Проблема Windows в том, что она является закрытой системой. Вы можете делать приложения под Виндовс или под Mac, но все эти ОС будут ограничивать вас, не давая доступа к некоторым функциям. При разработке под Linux вы имеете такую свободу, какую только можете себе представить.
В Линукс полностью открытое ядро, а это означает что вы можете создавать новые операционные системы на основе уже готового ядра.
Разница в том, что на Windows или Mac вы можете создать программу. Она будет великолепной, но все же программой. На Линукс вы можете создать свою операционную систему, а позже для неё можете создать еще и программу.
И конечно же, Линукс можно использовать под разные задачи. По этой причине на различных серверах обычно стоит именно Линукс, так как его можно переделать именно под ваш сервер и под ваши нужды.
Что такое дистрибутивы?
Дистрибутивы это полноценные оболочки или другими словами операционные системы, что были созданы на основе ядра Линукс. Поскольку Линукс предоставляет возможность создания своей ОС, то многие из разработчиков воспользовались этим.
Дистрибутивов существует невероятно большое количество. Среди популярных можно выделить:
Некоторые из них максимально схожи на Виндовс, например, Ubuntu или Mint. Другие же могут предоставлять только командный интерфейс, без графической оболочки.
Кстати, операционная система Андроид также является дистрибутивом, что создан на основе ядра Линукс. Вы только представьте, на основе Линукс был создан весь современный Андроид.
Если говорить про сервера, то там есть свои дистрибутивы. Линукс используется по причине своей безопасности, меньшей нагрузки и возможности полной трансформации под свои нужды.
Windows, к сожалению, всем этим похвастаться не может. Windows – идеальный вариант, если вы не хотите мучаться с установкой и настройкой, а просто хотите получить готовую операционную систему.
Как выбрать верный дистрибутив?
Дистрибутивов действительно очень много и выбирать нужно исходя из ваших потребностей. Проще всего найти различные подборки дистрибутивов в интернете и посмотреть на что они способны и под какие задачи были разработаны.
К примеру, если нам нужен легкий интерфейс для плавного входа в Линукс, то проще всего взять такие дистрибутивы как Ubuntu или же Mint.
В самом начале мы предлагаем вам разобраться в одном из основных дистрибутивов – Ubuntu. Именно его мы будем устанавливать и именно с ним будем работать.
В будущем вы по необходимости сможете установить другие оболочки, а общий принцип работы с ними будет примерно таким же, ведь ядро у всех оболочек остается неизменным.
Информация про Ubuntu
Ubuntu – один из наиболее популярных дистрибутивов. По данным статистики им пользуются около 20 миллионов людей по всему миру. Ubuntu содержит удобный и красивый пользовательский интерфейс.
Следующий фактор может показаться странным для Windows пользователей, но удобства Ubuntu в том, что большинство действий вы можете сделать при помощи мыши, а не при помощи написания команд в терминале.
Скрипты Bash Shell
Bash скрипт – файл, что содержит список команд для выполнения в ОС Линукс. При помощи Bash скрипта вы можете выполнять управление вашей операционной системой. Сам же Bash Shell является усовершенствованной вариацией командного терминала.
Простой пример
Вам нужно зайти в браузер, найти сайт, проверить на нем данные и позже закрыть браузер. Все это можно сделать через графический интерфейс, но также вы можете автоматизировать эти действия, прописав Bash скрипт и выполнив его.
В ходе курса мы научимся прописывать Bash скрипты, что будут выполнять действия связанные с вашим ПК.
План курса
В курсе мы рассмотрим все тонкости по работе с Linux. Мы научимся её устанавливать, работать с графическим интерфейсом, познакомимся с различными командами из терминала, изучим работу с пакетным менеджером, научимся устанавливать программы внутри Linux и, конечно же, создадим несколько Bash скриптов для управления ПК.
Перед прохождением курса вам не нужно иметь никаких дополнительных знаний. Все необходимое будет изучено в курсе.