Comments 15
Это проще. Но приятнее когда работает весь функционал. К тому-же у меня запуск всей безобразии идет параллельно. Ну и всякое перезапустится, если невзначай упадёт.
Не знаю, Я вот не плачу. Мне наоборот он очень заходит. Лучшей документации в linux, я пожалуй не вспомню. Особенно учтывая объёмы продукта. А те кто говорят про АНБ и это вот всё... Могу с уверенностю сказать, что они ни разу не заглядывали в сорцы. Даже я заглядывал(хоть ни разу не сишник), что-б понять как работают некоторые вещи. Как ни странно понял.
i3wm из коробки предлагает автозапуск с помощью exec_always, для большинства задач по автозапуска приложений кажется достаточным, но Ваш подход интересен.
Ещё почему-то "большие" используют dbus-run-session
вместо dbus-launch --exit-with-session
Спасибо. Некоторое время назад также искал вариант запуска иксового приложения от текущего пользователя. В итоге сейчас использую следующий вариант:
Сервис в /etc/systemd/user вызывается командой systemctl --user .service из файла .desktop в /etc/xdg/autostart
З.Ы. Правда теперь пытаюсь разобраться, как назначить этому процессу другую группу. Не первичную для пользователя, а дополнительную. Объявление Group= не помогает.
Не удивительно...
User=
,Group=
Set the UNIX user or group that the processes are executed as, respectively. Takes a single user or group name, or a numeric ID as argument. For system services (services run by the system service manager, i.e. managed by PID 1) and for user services of the root user (services managed by root's instance ofsystemd --user
), the default is "root", butUser=
may be used to specify a different user. For user services of any other user, switching user identity is not permitted.
Почему нельзя сменить группу, вопрос, на самом деле, интересный. Подозреваю что где-то в коде этот функционал попал под горячую руку вместе с User=
Хм, я просто ставлю пакет dex и добавляю его в i3wm config:
exec --no-startup-id dex -ae i3
И всё работает
Как всегда, чудовище systemd легко заменимо банальным легковесным решением, прописываемым в автозапуск вашего wm или .xinitrc
: https://github.com/jceb/dex
Такая маленькая вещь: в 4.20 в дефолтный конфиг добавили запуск dex --autostart
который запустит всё с /etc/xdg/autostart
, поэтому это можно считать официальным ответом на автозапуск. Также добавили вызов sd_notify()
с READY=1
и теперь можно послушать когда i3 запустился и зависеть от этого. Коммит 5b6a56419051c9cf40d02b3d88df7829b5a616c7 объясняет этим пользоваться.
Статья от этого менее полезной не стала в любом случае, автору спасибо. Новая версия вышла часов пять назад.
Всё как у больших. Автозагрузка приложений в оконных менеджерах linux