Pantheon Shell on Archlinux

Всем здравия.

Многие, наверное, знают Pantheon Shell - окружение рабочего стола (с натяжкой, но всё же это так) Elementary OS. Pantheon использует GTK3 и много компонентов GNOME 3.
Я слежу за проектом Elementary OS с самого его появления - 2011 года. Мне нравится визуальное оформление Pantheon и я давно хотел поднять его на Арче. Прошлая моя попытка была в 2017 году и закончилась неудачей сразу по нескольким причинам: общая запатченность Pantheon и жёсткая его привязка к пакетам Ubuntu; как раз тогда начался процесс миграции на систему сборки meson, было совершенно непонятно, какие проекты уже перешли на meson окончательно, а какие нет; как следствие предыдущего - огромные проблемы со сборкой пакетов из AUR, где была адская мешанина из старых релизных пакетов, свежих git-пакетов и устаревших git-пакетов.

Параллельно я пробовал ставить саму Elementary OS на железо и пользоваться ей. Каждая попытка заканчивалась убеждением, что Ubuntu - совершенно не мой дистрибутив (сам не знаю, зачем нужно было убеждаться в этом каждые 2 года). А вот оболочка мне нравилась.

В общем, я решил ещё раз попробовать установить Pantheon на Arch. Я слышал, что все проекты Elementary окончательно перешли на meson, а что ещё более важно - практически отвязались от ubuntu-пакетов (о чём говорит, например, наличие свежих пакетов с Pantheon в Fedora).
В этот раз у меня (почти) всё получилось.
https://imgur.com/qjkd4HV

Сразу хочу выразить благодарность пользователю alucryd (хоть он и вряд ли зайдёт на русскоязычный форум). Этот человечище является мейнтейнером почти всех pantheon-*-git пакетов в AUR - и все они стали наконец-то нормально собираться и работать.

От слов - к делу.
В первую очередь вооружаемся нашей родной Wiki - https://wiki.archlinux.org/index.php/Pantheon
Добавлять репу alucryd'а не стал, поскольку пакеты там уже начали подгнивать - видимо, не поспевает человек. Ставил всё из AUR, исключительно *-git пакеты. Иногда в зависимостях указаны не -git версии - проверяйте и заменяйте на -git, если хотите.
Входная точка, как и написано в wiki - пакет pantheon-session-git. Он притянет с собой основные зависимости. Сразу рекомендую заменить gnome-settings-daemon на gnome-settings-daemon-elementary, а также поставить pantheon-default-settings-git, дабы получить примерно тот же look'n'feel, как в Elementary OS. Также можно заменить plank на plank-git.
lightdm-pantheon-greeter-git - хотите ставьте, хотите нет.
pantheon-polkit-agent - очень нужная вещь, ставить. Можно из [community] не-git версию - в этом компоненте никакого развития нет.
Теперь надо ставить плагины для switchboard (это system settings) и wingpanel (панелька сверху). Ищите пакеты switchboard-plug-*-git и wingpanel-indicator-*-git. Ставьте, какие нужны - по описанию всё должно быть понятно.
Из вики-раздела https://wiki.archlinux.org/index.php/Pantheon#Applications ставьте любые нужные программы - там тоже всё понятно по названиям (это вам не MATE, хех)
В принципе, теперь Pantheon должен запуститься и им даже можно пользоваться. Абсолютно никаких проблем ни со сборкой пакетов, ни с запуском Pantheon у меня не возникло.
Список пакетов из AUR у меня такой получился (не относящиеся к Pantheon убрал):
cerbere-git 0.2.4-1
contractor-git 0.3.4.r3.79d8168-1
elementary-icon-theme-git r2341.52f74cf2-1
elementary-wallpapers-git r102.d45586c-1
file-roller-pantheon 3.28.0+1ubuntu1+r4.4ab5e02aa-1
gala-git 0.3.0.r217.e50b064-1
gnome-settings-daemon-elementary 3.28.1_0ubuntu1.1_r5.9610af6df-1
granite-git 5.2.3.r44.c1effcec-1
gsettings-desktop-schemas-ubuntu 3.27.90-1
gsignond 1.2.0-1
gsignond-plugin-mail-git r10.3a9503d-1
gsignond-plugin-oauth-git r115.d471ceb-1
gtk-theme-elementary-git 5.2.3-1
libmutter2 3.28.3-1
lightdm-pantheon-greeter-git 3.3.1.r102.a3a5365-1
pantheon-applications-menu-git 2.4.2.r41.4a3e788-1
pantheon-calculator-git r678.ad9ff32-1
pantheon-calendar-git r2150.e50ba15c-1
pantheon-code-git r3678.5480ec3e-1
pantheon-default-settings-git 5.1.0.r0.g848a8bf-1
pantheon-dpms-helper-git r8.e2547fd-1
pantheon-files-git r6456.732d80c3-1
pantheon-mail-git r254.16af6af9-1
pantheon-photos-git r4939.8a1d6248-1
pantheon-print-git r27.c92021f-1
pantheon-screenshot-git r792.7c52824-1
pantheon-session-git r130.3697be7-1
pantheon-terminal-git r1940.635128b-1
plank-git 0.11.4.r33.fb624c2-1
switchboard-git r1309.8eb9f32-1
switchboard-plug-about-git r795.eb81a4a-1
switchboard-plug-applications-git r388.e992256-1
switchboard-plug-datetime-git r516.5e7ea91-1
switchboard-plug-desktop-git r1048.c3cb0e1-1
switchboard-plug-display-git r449.a4b1da0-1
switchboard-plug-elementary-tweaks-git 0.0.1.r43.g47574c8-1
switchboard-plug-keyboard-git r1091.1a74273-1
switchboard-plug-locale-git r640.4382b34-1
switchboard-plug-mouse-touchpad-git r475.f90dc10-1
switchboard-plug-notifications-git r401.0bf0563-1
switchboard-plug-online-accounts-git r699.dc5442c-1
switchboard-plug-power-git r767.eb16fe9-1
switchboard-plug-printers-git r464.d852ad4-1
switchboard-plug-sound-git r362.f6476b1-1
switchboard-plug-user-accounts-git r684.8091bbe-1
ttf-roboto-mono 1:2.000985-6
wingpanel-git r390.15da046-1
wingpanel-indicator-datetime-git r405.dad925a-1
wingpanel-indicator-keyboard-git r204.5a1bfcb-1
wingpanel-indicator-notifications-git r333.3a522d1-1
wingpanel-indicator-session-git r363.273d650-1
wingpanel-indicator-sound-git r306.4b2319b-1

А теперь раздел текущих проблем.

1. Произошёл возврат в 2017 год, когда у всех была проблема с systemd под названием "a stop job is running…". Похоже cerbere (местный watchdog) не прибивает до конца какие-то процессы. А по логам он по-моему вообще сам первый и убивается. Смею, кстати, заметить, что в Elementary OS 5.0 с последними апдейтами было то же самое. Мне кажется, какая-то ошибка в .service файлах dbus для сервисов Pantheon. В общем, в тред призываются магистры systemd. А пока, чтобы не ждать полторы минуты, я сделал
$ cat /etc/systemd/system.conf.d/timeout5s.conf
[Manager]
DefaultTimeoutStopSec=5s
Не самое хорошее и правильное решение, но у меня пока нет слишком много времени и желания разбираться с .service файлами.

Пакет с патчем https://github.com/elementary/cerbere/pull/23 прекрасно работает и не тормозит выключение системы. Буду либо пробовать добавить патч в cerbere-git, либо создам отдельно свой пакет.
2. Настроить шрифты и некоторые другие моменты GTK3 можно только через lxappearance-gtk3 или gnome-tweaks. switchboard-plug-elementary-tweaks-git в этом плане абсолютно бесполезен, он ничего не меняет.
3. Очень маленький шрифт в заголовках окон - похоже он захардкожен в /usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override из состава пакета
pantheon-default-settings-git. Я поменял titlebar-font в org.gnome.desktop.wm.preferences через dconf-editor, но шрифт не поменялся.

Решается установкой xorg-xrdb
4. Аналогичная ситуация со схемой кнопок в заголовке окна - через elementary-tweaks не меняется, через dconf-editor не меняется. Меняется только у сторонних GTK3 окон, для приложений Elementary остаётся windows-layout.
Решается такой строкой в ~/.config/gtk-3.0/settings.ini:
gtk-decoration-layout=close:maximize
5. Так и не нашёл, как заставить numlock быть активным сразу после логина
6. Есть проблемы с онлайн аккаунтом Google. Проблема раз - пакет switchboard-plug-online-accounts-git полностью просрочен. Там в комментариях есть нормальный, но мне ещё пришлось заменить libsignon-dbus на gsignond. Проблема два - https://github.com/elementary/switchboard-plug-onlineaccounts/issues/72. Хотя календарь я синхронизировать смог.

Вроде всё, что вспомнил.

В остальном DE работает просто шикарно, я очень доволен.

Все дополнения буду постить в теме. Если заинтересовались темой, you are welcome - устанавливайте, экспериментируйте, давайте решать проблемы вместе.
Хотеть! Смотрю для декораций больше не нужно компиз прикручивать? Как с тенями у "сторонних" приложений (firefox).

marlock
А пока, чтобы не ждать полторы минуты, я сделал
Вот одно решение:

/etc/systemd/system.conf

DefaultTimeoutStartSec= 10s
DefaultTimeoutStopSec= 10s

Вот еще одно:

/etc/systemd/logind.conf

KillUserProcesses= yes
Mirk
решение
Это как бы не решение а жёсткий костыль. По уму надо смотреть из за чего не может завершиться процесс и исправлять
vs220
По уму надо смотреть из за чего не может завершиться процесс и исправлять
Война с гидрой и она проиграна. Ну если не воспользоваться "костылем", который работает.
PS. Поставил pantheon. Работает, а я приятно удивлен :)
Проблемы 3 и 4 пофиксил, решение в стартовом посте.
Надо бы это на вики запостить.
Проблема 1 решена.
marlock
как заставить numlock быть активным сразу после логина
Стандартный способ не работает?
https://wiki.archlinux.org/index.php/LightDM#NumLock_on_by_default

https://wiki.archlinux.org/index.php/Activating_Numlock_on_Bootup
У меня одного хоткеи не работают? Скриншоты, громкость и свои комбинации тоже не работают.
Переключение раскладки по setxkbmap -option "grp:switch,grp:shift_caps_switch,grp_led:scroll" -layout "us,ru" тоже не смог подружить.

PS. Наткнулся на скрипт, который задействует нужные мне кнопки, так еще и без зарержки все переключает.
vs220
marlock
как заставить numlock быть активным сразу после логина
Стандартный способ не работает?
https://wiki.archlinux.org/index.php/LightDM#NumLock_on_by_default

https://wiki.archlinux.org/index.php/Activating_Numlock_on_Bootup
Религия не позволяет лишний софт ставить. Если gnome 3 умеет это делать через gnome-settings-manager, то мне хотелось бы получить такое же поведение от pantheon.

Mirk
У меня одного хоткеи не работают? Скриншоты, громкость и свои комбинации тоже не работают.
Переключение раскладки по setxkbmap -option "grp:switch,grp:shift_caps_switch,grp_led:scroll" -layout "us,ru" тоже не смог подружить.
Попробовал - медиа хоткеи тоже не работают, хотя управляющие окнами работают.
Переключение раскладок по shift+caps доступно в настройках, ничего больше ковырять не надо.
 
Зарегистрироваться или войдите чтобы оставить сообщение.