
Я использую KDE Manjaro. У меня есть скрипт смены фона, который я хочу запустить при входе в систему, но проблема в том, что он этого не делает. Я хочу, чтобы он запускался каждый раз при входе в систему, неважно, как, вхожу ли я в систему при загрузке или вхожу после перехода компьютера в спящий режим и его пробуждения. Я попробовал добавить скрипт в:
Настройки > Запуск и завершение работы > Автозапуск > Файл сценария
но это на самом деле не работает, есть ли у кого-нибудь идеи?
решение1
Я хотел задать вопросы, прежде чем опубликовать возможный ответ, но у меня недостаточно репутации для этого, поэтому здесь будет много предположений и мало возможностей.
Я предполагаю, что вы используете X11, а не Wayland. Найдите Xsession
или xinitrc
файл в /etc/X11/xinit/
. Если у вас есть один, отредактируйте его с помощью nano
или что-то еще, что плавает в вашей лодке, используя:
sudo nano /etc/X11/xinit/xinitrc
например, и либо добавьте туда содержимое вашего скрипта, если оно достаточно краткое, либо выполните свой скрипт оттуда, добавив:
source path/to/your/script.sh
Убедитесь, что он #!/bin/sh
находится в верхней части вашего скрипта и xinitrc
/или Xsession
файла, и что файл является исполняемым, выполнив , например sudo chmod +x xinitrc
, если у вас есть .xinitrc
У меня есть xinitrc
в домашнем каталоге, который я использую, так что, возможно, у вас тоже есть такой или вы можете его создать(?) Но я не использую KDE, так что он может вам не подойти. У меня также есть один, в /etc/X11/xinit/
котором я не редактирую.
Затем отредактируйте или создайте файл, /etc/sddm.conf
если он не существует, и добавьте в него следующее:
[X11]
SessionCommand=/etc/X11/xinit/xinitrc
для xinitrc
. Может быть, вы могли бы лучше указать на один из них в вашем домашнем каталоге? Я не настолько осведомлен, чтобы быть на 100% уверенным. Если уже есть блок, [X11]
просто добавьте к нему строку, не добавляйте второй [X11]
блок.
Этотдолжензапустите свой скрипт после входа в систему с помощью SDDM, которыйобычноДиспетчер отображения KDE (то, что вводит ваше имя пользователя и пароль при входе в систему). Вы также можете использовать DisplayCommand
вместо SessionCommand
и затем указать на него /etc/sddm/Xsetup
, но он может не запуститься после выхода из системы и повторного входа, он запустится после запуска диспетчера отображения (т. е. перезагрузки системы), но я не знаю, перезапускается ли он на самом деле после повторного входа в систему.
Если это не помогло, извините, вот документация, которую я прочитал и которая привела меня к предоставленным мною решениям, которые вы также можете использовать, и я уверен, что вы найдете среди них решение:
https://wiki.gentoo.org/wiki/SDDM(соответствующая часть находится внизу)