Wayland. Аналоги приложений

Аналоги приложений для Wayland.

Содержание

1 Аналоги приложений

1.1 Просмотр изображений

1.2 Снимки экрана

1.3 Видеозапись экрана (скринкаст)

Ранее использовался SimpleScreenRecorder.

1.3.1 Видеозапись экрана – командная строка

Для записи из командной строки используем wf-recorder:

1emerge -v gui-apps/wf-recorder

Варианты использования:

  • Запись всего экрана в файл recording.mkv (только видео):
1wf-recorder -f recording$(date +%Y-%m-%d_%H-%M-%S).mkv

Если файл не указывать, запись будет в текущий каталог.

  • Запись фрагмента экрана (тут имя файла задаётся по времени начала записи):
1wf-recorder -g "$(slurp)" -f $(date +%Y-%m-%d_%H-%M-%S).mkv
  • Запись со звуком:
1wf-recorder --audio -f $(date +%Y-%m-%d_%H-%M-%S).mkv
  • Запись с использование GPU (VAAPI интерфейс):
1wf-recorder --audio -f $(date +%Y-%m-%d_%H-%M-%S).mkv -c h264_vaapi -d /dev/dri/renderD128

1.3.2 Видеозапись экрана – графическое приложение

Для захвата десктопа в Wayland используется плагин wlrobs.

1.4 Строка состояний

  • Swaybar
    • Sway поддерживает свою строку состояний sway-bar. Удобное и минималистическое приложение. Однако, удручает, что иконки в трее не активны.
  • Waybar

1.5 Уведомления

Используется mako.

1emerge -v gui-apps/mako

Сконфигурировал следующим образом:

1# ~/.config/sway/config.d/80-mako.conf
2# Light
3exec_always mako --font 'Source Code Pro 10' --background-color '#fdf6e3' --text-color '#657b83' --default-timeout 5000 --width 400 --markup 1 --border-radius 5
4
5# Dark
6# exec_always mako --font 'Source Code Pro 10' --background-color '#002b36' --text-color '#839496' --default-timeout 5000 --width 400 --markup 1 --border-radius 5

1.6 Настройка вывода

В XWindow используется программа xrandr (с её помощью можно изменять параметры вывода изображения RandR). В sway можно управлять с помощью swaymsg output или с помощью утилиты wlr-randr.

1emerge -v gui-apps/wlr-randr

1.7 Меню программ (launcher)

Для запуска программы используется dmenu. Если не нравится, можно заменить.

  • wofi — аналог rofi для Wayland. Попроще, конечно.
1emerge -v gui-apps/wofi

В отличии от dmenu запоминает последние выбранные команды.

Общая конфигурация:

 1# ~/.config/sway/config.d/80-launcher.conf
 2
 3# dmenu
 4
 5set $menu dmenu_path | dmenu | xargs swaymsg exec --
 6
 7# wofi
 8# --show <mode>
 9# <mode>:
10# - `run` - searches $PATH for executables and allows them to be run by selecting them.
11# - `drun` - searches $XDG_DATA_HOME/applications and $XDG_DATA_DIRS/applications for desktop files and allows them to be run by selecting them.
12# - `dmenu` - reads from stdin and displays options which when selected will be output to stdout.
13
14# set $menu dmenu_path | wofi -c ~/.config/sway/other/wofi/config -s ~/.config/sway/other/wofi/style.css --show dmenu | xargs swaymsg exec --
15
16# rofi
17
18# set $menu rofi -combi-modi window#drun -show combi -modi combi -show-icons
19# set $menu rofi -m $(swaymsg -t get_outputs | jq 'map(select(.active) | .focused) | index(true)') -show combi -modi combi -combi-modi window#drun -show-icons -run-command 'swaymsg exec -- {cmd}'
20
21# gmenu
22
23# set $menu gtkmenu --width 500 --height 260 -no-generic
24# set $menu nwggrid
25
26# bemenu
27
28# set $menu j4-dmenu-desktop --dmenu="bemenu-run.sh -l 30" --term="alacritty" --no-generic
29
30# Start your launcher
31
32bindsym $mod+d exec $menu

1.8 Буфер обмена

Предлагается использовать wl-clipboard.

1emerge -v gui-apps/wl-clipboard

Пакет содержит две утилиты: wl-copy и wl-paste.

Пример использования:

 1# copy a simple text message
 2$ wl-copy Hello world!
 3
 4# copy the list of files in Downloads
 5$ ls ~/Downloads | wl-copy
 6
 7# copy an image file
 8$ wl-copy < ~/Pictures/photo.png
 9
10# paste to a file
11$ wl-paste > clipboard.txt
12
13# grep each pasted word in file source.c
14$ for word in $(wl-paste); do grep $word source.c; done
15
16# copy the previous command
17$ wl-copy "!!"
18
19# replace the current selection with the list of types it's offered in
20$ wl-paste --list-types | wl-copy

1.9 Блокировка экрана

1.9.1 swaylock

  1. Общая информация

    • Официальное приложение для блокировки экрана для Swayswaylock.
    • Репозиторий: https://github.com/swaywm/swaylock
    • Установка:
      • Gentoo:
        1emerge gui-apps/swaylock
        
    • В информационной панеле waybar есть опция для отключения блокировки при простое (например, для демонстрации слайдов).
  1. Блокировка при простое

    • Заблокировать экран после 300 секунд бездействия.
    • Затем выключить дисплей ещё через 300 секунд.
    • Включить экран при возобновлении работы.
    • Также заблокировать экран перед тем, как компьютер перейдет в спящий режим.
    • Конфигурационный файл:
       1### ~/.config/sway/config.d/80-lock.conf
       2
       3### Idle lock
       4## - Lock your screen after 300 seconds of inactivity
       5## - Then turn off your displays after another 300 seconds
       6## - Turn your screens back on when resumed
       7## - Also lock your screen before your computer goes to sleep
       8
       9exec swayidle -w \
      10         timeout 300 'swaylock -f -c 000000 -k' \
      11         timeout 600 'swaymsg "output * dpms off"' \
      12         resume 'swaymsg "output * dpms on"' \
      13         before-sleep 'swaylock -f -c 000000 -k'
      
  1. Ручная блокировка

    • Mod + Ctrl + l для немедленной блокировки экрана.
    • Через 10 секунд выключить экран.
    • Конфигурационный файл:
      1### ~/.config/sway/config.d/80-lock.conf
      2
      3### Manual lock
      4## - Mod + Ctrl + l to lock the screen immediately
      5## - In 10 sec also switch the screen off
      6
      7set $lockman exec bash ~/.config/sway/scripts/lockman.sh
      8bindsym $mod+Ctrl+l exec $lockman
      
    • Скрипт блокировки:
       1#!/bin/bash
       2# ~/.config/sway/scripts/lockman.sh
       3
       4# Times the screen off and puts it to background
       5swayidle \
       6    timeout 10 'swaymsg "output * dpms off"' \
       7    resume 'swaymsg "output * dpms on"' &
       8# Locks the screen immediately
       9swaylock -c 550000 -k
      10# Kills last background task so idle timer doesn't keep running
      11kill %%
      

1.9.2 swaylock-effects

  • swaylock-effects является форком swaylock:
    • Репозиторий: https://github.com/mortie/swaylock-effects
    • Добавляет встроенные скриншоты и эффекты манипулирования изображениями, такие как размытие.

1.10 Демонстрация нажатия клавиш

1.10.1 Show Me The Key

  1. Установка

  1. Особенности

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

2 Ресурсы по миграции с X Window


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие