Pull to refresh

Comments 15

UFO just landed and posted this here

Это проще. Но приятнее когда работает весь функционал. К тому-же у меня запуск всей безобразии идет параллельно. Ну и всякое перезапустится, если невзначай упадёт.


UFO just landed and posted this here

Не знаю, Я вот не плачу. Мне наоборот он очень заходит. Лучшей документации в linux, я пожалуй не вспомню. Особенно учтывая объёмы продукта. А те кто говорят про АНБ и это вот всё... Могу с уверенностю сказать, что они ни разу не заглядывали в сорцы. Даже я заглядывал(хоть ни разу не сишник), что-б понять как работают некоторые вещи. Как ни странно понял.

i3wm из коробки предлагает автозапуск с помощью exec_always, для большинства задач по автозапуска приложений кажется достаточным, но Ваш подход интересен.

exec_always срабатывает при каждом перезапуске i3. Обычно используют просто exec --no-startup-id. При моём способе обеспечивается большая гибкость.

Ещё почему-то "большие" используют 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 of systemd --user), the default is "root", but User= 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

И всё работает

Да, я в процессе натыкался на dex, но это не спортивно, ставить ещё какой-то пакет, когда уже есть нужный функционал, да ещё и с бонусами.

Как всегда, чудовище systemd легко заменимо банальным легковесным решением, прописываемым в автозапуск вашего wm или .xinitrc: https://github.com/jceb/dex

Зачем ещё один бинарник, когда можно просто приспособить имеющееся «чудовище»? ;-)

Такая маленькая вещь: в 4.20 в дефолтный конфиг добавили запуск dex --autostart который запустит всё с /etc/xdg/autostart, поэтому это можно считать официальным ответом на автозапуск. Также добавили вызов sd_notify() с READY=1 и теперь можно послушать когда i3 запустился и зависеть от этого. Коммит 5b6a56419051c9cf40d02b3d88df7829b5a616c7 объясняет этим пользоваться.
Статья от этого менее полезной не стала в любом случае, автору спасибо. Новая версия вышла часов пять назад.

Sign up to leave a comment.