Недавно мы сделали базовую настройку гик-десктопа на базе i3, но за кадром осталось множество более мелких и не совсем очевидных вещей. Сегодня мы закончим доводку рабочего стола до состояния идеала: научим dmenu управлять яркостью, громкостью и SSH-подключениями, установим правильный менеджер паролей, внедрим в десктоп переводчик любых выбранных слов и фраз, добавим в статусную панель информацию о погоде, установим блокировщик экрана и быстрый, управляемый хоткеями браузер.

Напомню, что в данный момент у тебя уже должна быть базовая инсталляция i3 с окном логина slim, терминалом lilyterm, демоном автомонтирования devmon, системой показа уведомлений twmnd, апплетом переключения раскладки gxkb и композитным менеджером compton. Это вполне самодостаточный десктоп, которым можно без проблем пользоваться. Но есть множество более мелких вещей, которые мы не затронули в предыдущей статье. Например, у нас до сих пор нет блокировщика экрана, той самой штуки, которая требует пароль после простоя или пробуждения компа от спячки.

WWW

Если чего-то из вышеперечисленного нет, обязательно посмотри первую часть наших приключений.

 

Блокировщик экрана slock

Slock — чрезвычайно простой блокировщик экрана. Настолько простой, что в нем нет даже поля ввода для пароля. Он просто показывает черный экран, цвет которого меняется на синий, когда ты вводишь пароль, и на красный, если пароль неверен.

Slock доступен во многих дистрибутивах в форме обычного пакета. В Arch Linux его можно установить так:

$ sudo pacman -S slock

После этого выполни команду slock, чтобы заблокировать экран. Чтобы экран блокировался перед уходом компа в сон, следует создать юнит systemd следующего содержания:

[Unit]
Description=Lock X session using slock for user %i
Before=sleep.target

[Service]
User=%i
Environment=DISPLAY=:0
ExecStartPre=/usr/bin/xset dpms force suspend
ExecStart=/usr/bin/slock

[Install]
WantedBy=sleep.target

Помести эти строки в файл /etc/systemd/system/slock@.service, а затем активируй юнит для текущего пользователя:

$ sudo systemctl enable slock@ИМЯ_ЮЗЕРА.service

Теперь slock будет автоматически активирован при переходе ноутбука в сон.

 

Настройка строки состояния

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

Поэтому я рекомендую использовать i3status, но несколько расширить его функциональность. Первое, что стоит сделать, — это разместить в строке не только время, но и текущую дату и день недели. Для этого надо всего лишь исправить директиву tztime local в файле ~/.i3status.conf так, чтобы она выглядела следующим образом:

tztime local {
    format = "%a %Y-%m-%d %H:%M:%S"
}

Также ты можешь отключить ненужные тебе разделы строки состояния, просто закомментировав строки, начинающиеся с order:

#order += "run_watch DHCP"

Эта строка отключает показ информации о статусе DHCP. Меняя местами строки order, можно поменять расположение элементов в строке.

Ты можешь столкнуться с тем, что строка не отображает информацию о состоянии сети. Обычно проблема заключается в неверных именах сетевых устройств в конфиге. Стоит запустить команду ifconfig, чтобы узнать правильные имена, а затем прописать их в конфиг i3status. Устройства с именами, начинающимися на en, — это Ethernet-адаптеры, wl — Wi-Fi.

Вот пример настроек i3status для моего ноутбука:

wireless wlp3s0 {
    format_up = "W: (%quality at %essid) %ip"
    format_down = "W: down"
}

ethernet enp0s25 {
    format_up = "E: %ip (%speed)"
    format_down = "E: down"
}

Кроме статуса сети, батареи, времени, тебе также может понадобиться инфа о текущем уровне громкости. Ее легко добавить с помощью такого блока:

volume master {
    format = "♪ %volume"
    format_muted = "♪ muted (%volume)"
    device = "default"
    mixer = "Master"
    mixer_idx = 0
}

и соответствующей строки в начале конфига:

order += "volume master"
 

Погода в строке состояния

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

Для начала скачаем скрипт weather.py:

$ mkdir ~/bin
$ cd ~/bin
$ wget https://raw.githubusercontent.com/calzoneman/i3-weather/master/weather.py
$ chmod +x weather.py

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

Волшебные «пальчики». Как работают механизмы биометрической авторизации по отпечатку пальца

Больше ста лет назад человечество научилось устанавливать личность по отпечаткам пальцев. …

8 комментариев

  1. Аватар

    http://android-tools.ru

    27.07.2017 at 12:37

    Как обновить Adobe Flash плагин для Firefox на Fedora 26, без лишних телодвижений?

  2. Аватар

    istepan

    28.07.2017 at 17:24

    Есть аналог surf на основе Blink/v8?

  3. Аватар

    soko1

    28.07.2017 at 18:20

    Интересное применение dmenu, спасибо за идею.

    Напиши в след раз про какой нибудь нормальный менеджер wifi-соеднинений консольный. А то везде какой-то шлак. wpa_supplicant не подходит по ряду причин. Самая главная из которых — нельзя указать к какой точке из перечисленных в конфиге подрубаться! Он создавался наверное из расчёта, что одно место — одна точка. Но такое далеко не всегда: иногда нужно подключиться не к основному роутеру, а к резервному инету с другим SSID, или подключиться к соседской точке (шутка).
    Кстати, есть неплохая обёртка к wpa_supplicant с доп. возможностями — https://github.com/cryptopunks/minsecwifi (но тоже допилен не до конца).

    В общем, буду рад альтернативам.

  4. Аватар

    enc

    01.08.2017 at 11:28

    мне понравилось! Автор, пиши еще!

  5. Аватар

    mrkhesin

    14.08.2017 at 09:38

    Присоединяюсь, прошу продолжить цикл статей. С какими решениями Вы сталкиваетесь в процессе работы чаще всего?

  6. Аватар

    vicnev

    06.09.2017 at 20:36

    Спасибо за очень полезную статью и хотелось бы продолжения этой темы.

  7. Аватар

    Dron66

    13.10.2017 at 00:34

    А ссылка на первую часть?

Оставить мнение