Блокировка экрана в Linux снимается простым сочетанием клавиш
Хакинг для новичков
В исходниках X.Org Server нашли забавный баг, который фактически делает бессмысленной работу скринсейверов с блокировкой экрана. Любой скринсейвер с блокировкой экрана, будь то gnome-screensaver, kscreenlocker, slock, slimlock или другой, выключается сочетанием клавиш клавиш Ctrl-Alt-* (звёздочка на цифровой клавиатуре).
На самом деле это не совсем баг, а побочный эффект срабатывания специально задуманной функции PrintDeviceGrabInfo, которая появилась в результате этого коммита. Он был добавлен в основную ветку в июне 2011 года и присутствует во всех версиях Xorg, начиная с 1.10.99.902.
# grep -Rl ‘^PrintDeviceGrabInfo’ \
xorg-server-1.10.3.901 \
xorg-server-1.10.99.902 \
xorg-server-1.11.3
xorg-server-1.10.99.902/dix/grabs.c
xorg-server-1.11.3/dix/grabs.c
Получается, что Ctrl-Alt-* работает на всех системах, где установлен xorg-server-1.10.99.902 или более свежий, а он в настоящее время применяется почти во всех вариантах Linux и BSD. Правда, в некоторых популярных версиях Linux работают более старые версии Xorg, так что они не подвержены уязвимости. Например, даже в последней версии Ubuntu 11.10 нет такого бага.
На самом деле, это серьёзная уязвимость, потому что блокировкой экрана люди пользуются не просто так, а чтобы блокировать несанкционированный доступ в систему во время своего отсутствия. Если же блокировка снимается так просто, то никакой защиты нет вообще.
Хуже того, наличие такой дыры в течение долгого времени (семь месяцев) вообще может подорвать доверие к безопасности Linux. А что, если кто-то знал об этом «волшебном» сочетании клавиш и раньше, и пользовался своими знаниями?
Сейчас-то, конечно, баг в Xorg быстро закроют, а некоторые дистрибутивы Linux, не дожидаясь этого, выпустили собственные патчи: например, Arch Linux выпустил патч вчера днём.
The Best Linux Lockscreen
To be honest, the default lock screens, also known as greeters or display managers (when the lockscreen also manages the boot login), can leave looks to be desired on pretty much every Linux distribution. To fix that, we have several options — theme the lock screen you already have, change the lock screen, or login automatically and use another option such as i3lock.
This guide shows you how to change the login screen background, edit the login screen font, use a login screen gtk theme, and change your user manager. This guide has sections for most major display managers, but the GDM guide has the most detail.
Theming your lockscreen
Typically the easiest option. The options below are for a few of the most popular display managers.
GDM Display Manager
First back up the current theme:
Note: Ubuntu 17+ uses a GDM config that is different than the default setup. If the following setup does not work for you please comment and I will try to help. All of the scripts I link below work for me on a fresh Fedora 27 system.
Now you have a few options. If you simply want to change the font on your login manager or change the background, you can use my script:
Editing the current theme
Download the scripts on the DevPy GitHub: devpytech/scripts/gresource-extract. Then run ./extract.sh to extract your current theme to the «theme» folder in the same folder as the extract script.
Editing the font
Edit gnome-shell.css . Change the font to your custom font. E.g:
Editing the background
Copy a background to the theme folder. Then edit gnome-shell.css and change the #lockDialogGroup section to the filename of your image. E.g:
Building & enabling
Run the ./build.sh file from DevPy’s GitHub. This will create a .gresource file in the theme folder.
Finally, override the current gresource (make sure you have backed up the current file):
Using your GTK Theme
My favourite method is to match the GTK theme by building a gresource file.
Here are a few results for themes I have tested:
Vertex
You can build your own using my script here: devpytech/gtk-gresource.
I’ve included prebuilt gresource files for the following themes:
After a reboot the theme should show on login and lock.
LightDM Display Manager
LightDM is probably the second most popular display manager, after GDM. To install a theme, install both lightdm and lightdm-webkit2-greeter through your package manager. Then, navigate to /usr/share/lightdm-webkit/themes/ through the terminal or a root file manager and copy the theme files there. Once finished, enable the theme in your /etc/lightdm/lightdm-webkit2-greeter.conf by setting webkit-theme .
Material
Aether
Litarvan
SDDM Display Manager
SDDM is a display manager written from scratch. It’s best known for being the default with KDE Plasma 5. To install an SDDM theme, simply move it to /usr/share/sddm/themes/ , making sure that the folder name is the same as the theme name. You can enable a theme by editing /etc/sddm.conf under the [Theme] section and changing Current to the theme name.
Aerial
Aerial uses gifs on the lockscreen in the style of Apple TV screensavers.
Deepin
Changing your Display Manager
This option will change the way you login . forever. Or at least until you change back. Once you have installed a display manager, the way you change to it depends on your linux distribution. On Ubuntu, run » sudo dpkg-reconfigure gdm3 » replacing gdm3 with the current display manager.
You can install GDM with the following:
Ubuntu
Fedora
On other distributions, try searching gdm in the package manager.
LightDM
You can install GDM with the following:
Ubuntu
Fedora
On other distributions, try searching lightdm in the package manager.
You can install SDDM with the following:
Ubuntu
Fedora
On other distributions, try searching sddm in the package manager.
Not Using a Display Manager At All
If you like to login with the console, you can simply disable the Display Manager services:
If you use this option, I suggest that you install a screenlocker / screensaver to help avoid screwing up your monitor (keeping the same image on the monitor for a long time can freeze some pixels).
XScreenSaver
XScreenSaver ships with most distributions, but if you don’t have it, instructions can be found here. Theming is rather rudimentary but you can change the colours by editing
i3lock
Probably my favourite screen locker, i3lock is simple and has many derivations to choose from. My favourite derivation is i3lock-colors to customize the look and image.
Default
My custom wallpaper conserving script
And that’s it! If you want to go back to the defaults, simply re-enable GDM or LightDM.
Thanks for reading. Feel free to share your custom login setup in the comments below.
While Linux gaming has steadily evolved over the years, the number of titles on Windows far outnumbers the amount on [. ]
Distro agnostic installation of packages is a long time coming. There are literally thousands of different distros, and a fair [. ]
DevPy Newletter
We don’t spam, and we only send emails once or twice a week month.
ИТ База знаний
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
15 примеров команды PING для диагностики сети
15 примеров CURL в Linux
Руководство по команде grep в Linux
Ubuntu: обнаружение и работа с Hardware
8 крутых файловых менеджеров Linux: обзор и установка
Установка Icinga 2 на Ubuntu 20.04 LTS
15 примеров CURL в Linux
Snom D345
Еженедельный дайджест
Как пользоваться утилитой screen в Linux?
Окно в «новую жизнь»
Сейчас вы точно прочувствуете важное команды screen . Бывало ли у вас такое, что вы выполняете (очень долго) команду в консоли — CLI на удаленной машине, будучи подключенным через SSH? Команда долго выполняется и близится к завершению как вдруг пропадает подключение, рвется SSH подключение и все, что вы делали — пропало?
Прости, что напомнили. Знаем, это болезненно. Что же, вытрем слезы. Для этих ситуаций есть команда screen о которой мы и поговорим.
Немножко теории
Так называемый screen это терминальный мультиплексор (нас тоже пугает это слово). Другими словами, оно дает нам возможность внутри действующей сессии открыть сколько угодно много виртуальных окон/терминалов. Что важно — процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии.
Установка screen в Linux
Вообще, пакет screen предустановлен на большинстве современных Linux — дистров. Проверить можно командой:
Если случилось так, что у вас его нет — это можно быстро исправить простой установкой.
Установка screen в Ubuntu и Debian
Установка screen в CentOS и Fedora
Запуск screen в Linux
Чтобы запустить screen в консоли, просто наберите screen . Что может быть проще, не правда ли?
У вас откроется новая сессия в новом окне. Уже здесь вы можете вводить все нужные shell команды. Находясь в режиме скрина (screen) вы можете посмотреть список доступных вам команд управления этим режимом. Вот так:
Если не получается нажать указанную выше комбинацию, можно поступить проще: нажмите отдельно Ctrl+a , отпустите, а затем в консоль наберите ? и нажмите Enter
Сессия screen с именем
Ну очень удобная фича. Если вы делаете несколько процессов параллельно, просто обзовите их так, чтобы потом понять, что и где выполняется. Синтаксис такой:
Например, вы можете запустить ping — замер хоста с 1С и назвать сессию так:
Всегда используйте скрин именно так. Будет значительно удобнее.
Как правильно работать с окнами в Windows
Как мы уже сказали, когда вы создаете новую screen — сессию, вы создадите новое окно с shell оболочкой внутри. И что интересно — внутри скрин сессии вы можете создать множество дополнительных окон. Чтобы это сделать, воспользуйтесь командой (внутри скрина) Ctrl+a и c . Новому окну будет назначен номер от 0 до 9 (первый свободный).
Ниже мы собрали все команды, которые понадобятся вам для управления скринами:
- Ctrl+a и c — создать дополнительное окно ;
- Ctrl+a и » — показать список всех имеющихся окон;
- Ctrl+a и 0 — переключиться на окно с номером 0 (номер может быть иной);
- Ctrl+a и A — переименовать текущее окно;
- Ctrl+a и S — разделить окно по горизонтали на две области;
- Ctrl+a и | — разделить окно по вертикали на две области;
- Ctrl+a и tab — переключить рабочий фокус на следующую область разделенного окна;
- Ctrl+a и Ctrl+a — переключить рабочий фокус на предыдущую область разделенного окна;
- Ctrl+a и Q — закрыть все разделенные области кроме;
- Ctrl+a и X — закрыть текущую область;
Выход из screen сессии
Вы можете легко выйти из screen — сессии набрав:
Самое важное: запущенная вами в этот момент команда не остановится и будет продолжать свое выполнение.
Возврат к screen сессии
Чтобы вернуть к screen — сессии используйте команду:
Если у вас запущено больше чем одна screen — сессия, то после ключа r нужно указать ее ID. Узнать его просто с помощью команды:
Вывод этой команды будет выглядеть вот так:
В выводе выше мы выделили ID — сессий. Например, чтобы вернуться к сессии 32328 (pings_towards_1C), дайте команду:
Немножко кастомизации screen под вас
Когда screen запускается, он считывает свои конфигурационные параметры из /etc/screenrc и
/.screenrc , если файл присутствует. Так вот — мы можем легко перенастроить предпочтения использования screen и сделать это в файле .screenrc .
Посмотрите пример с комментариями, как мы закастомили screen для себя:
Типовой сценарий использования screen
Общий случай, так сказать. Обычно он состоит из следующих шагов:
- После SSH подключения к серверу, набираем screen ;
- Запускаем интересующую нас команду в режиме screen — сессии;
- Выполняем команду Ctrl + a и d , чтобы выйти из режима работы с экран-сессией
- Через какое-то время возвращаемся к запущенному ранее экрану командой screen -r
Выводы
Мы разобрались, как создавать screen сессии, управлять ими внутри, открывая новые окна, выходить из их режима управления (без прекращения выполнения команды), делить горизонтально и вертикально экраны.
Ах да, ещё мы научились кастомизировать screen под себя. Профит!
Было полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.