LINUX.ORG.RU

Sway не запускается bash скрипт из конфига

 ,


0

1

Всем доброго времени суток. Недавно задумался над возможностью установки на задний фон sway сменяющихся картинок. Из коробки я ничего подобного не нашёл (а и зачем), поэтому прибег к bash :

exec swaybg -o DP-1 -i /home/utoecat/fonpict6/autumn.jpg -m fill&
PID_SWAYBG=$! #first start
echo "SCRIPT RUNNING..." >> /home/utoecat/out.txt
while :
do
for file in /home/utoecat/fonpict6/*.*
do
sleep $2 #sleeping
PID_OLD=$PID_SWAYBG # save old pid
exec swaybg -o DP-1 -i "$file" -m fill& 
PID_SWAYBG=$!
sleep 0.5
kill $PID_OLD #kill old pid
done
done

при запуске из терминала скрипт отрабатывает как надо, даже создаётся файл out (если его перед этим удалить), а вот прописав в sway config :


# Autostart
...
exec /home/utoecat/.config/sway/bg.sh 0 2 # NOT WORK!
exec sh /home/utoecat/.config/sway/bg.sh 0 2 # STILL NOT WORK!
exec mako
exec /usr/lib/polkit-1/polkitd
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
#exec kitty

скрипт не запускается… Это я определил по тому, что файл не появляется там где надо… Может кто-то сталкивался с подобной проблемой? Буду весьма благодарен, если подскажете как можно решить эту проблему. P.S : мне крайне желательно запустить скрипт из под sway. Запихнуть запуск этого скрипта в ./bashrc мне не поойдёт, т.к у меня помимо sway ещё и крыса стоит, а смысл от лишнего скрипта в фоне?



Последнее исправление: UtoECat (всего исправлений: 1)

начнем с того что обои меняются не так, а командой типа

swaymsg output '*' bg ~/Pictures/picture.jpg fill
Lrrr ★★★★★
()

я знаю более лёгкий путь, можно юзать не sway а feh, баш скриптом рандомно выбирать картинку из папки с обоями и делать feh –bg-scale <картинка> и sleep 30 или сколько надо задержка

XX-century-ninja
()
Ответ на: комментарий от XX-century-ninja

Я знаю еще более легкий путь: ПКМ по рабочему столу -> Персонализировать -> Выбрать изображение.


Может, стоит писать по делу, а не бесполезную чушь? Кто тебя про иксы спрашивал?

Siborgium ★★★★★
()
Последнее исправление: Siborgium (всего исправлений: 1)
Ответ на: комментарий от Siborgium

Но я попрошу заметить, что проблема с невозможностью запуска скриптов останется. А если мне нужно будет потом снова запустить какой-нибудь скрипт, что я делать буду? P.S : моё личное мнение, что bash скрипты - не костыли, а средства автоматизации, которые свою работу выполняют на ура, если используются по назначению.

UtoECat
() автор топика
Ответ на: комментарий от Lrrr

Попробовал… Теперь у меня между переходами возникает серый фон. Тот костыль с PID и kill я именно поэтому и городил, чтобы вызываемый swaybg успел загрузить изображение, а потом я убиваю прошлый swaybg и картинка мгновенно меняется.

UtoECat
() автор топика
Ответ на: комментарий от UtoECat

Я не писал, что bash-скрипты это костыли, я назвал их велосипедами в данном случае. Есть готовое решение, идеально подходящее для вас, но вы предпочитаете писать портянку, которая хуже работает, которая требует шелл для работы, которая жирнее. Это прямая противоположность автоматизации и велосипедостроение.

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium

я уже глянул что это за зверь, wallutils. Я могу его использовать, (хоть мне и не нравится, что он слегка перегружен) но опять же мой главный вопрос : как запустить ЛЮБЫЕ скрипты из конфига sway?

UtoECat
() автор топика
Ответ на: комментарий от UtoECat

Так и запускать. Скрипт запускался, но исполняемые в нем команды не работали, так как были некорректными.

Касательно «перегружен»: твой небольшой скрипт форкается на каждой итерации, это ли не перегруженность?

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium

Что вы подразумевали под словом форкается? Кста сейчас ковыряю wallutils. Они тоже сероту в промежутках показывают ._.

UtoECat
() автор топика
Ответ на: комментарий от Siborgium
Скрипт запускался, но исполняемые в нем команды не работали, так как были некорректными

Поясните, что вы имеете в виду.

UtoECat
() автор топика
Ответ на: комментарий от UtoECat

Поясните, что вы имеете в виду.

начнем с того что обои меняются не так, а командой типа


Они тоже сероту в промежутках показывают ._.

Это проблема Sway.

https://github.com/swaywm/sway/issues/3693

Там же приведена ссылка на oguri, в качестве альтернативы wallutils, но это немного не то.

форкается

Каждый раз процесс swaybg убивается и заменяется новым, это происходит через fork+exec от процесса bash.

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium
это происходит через fork+exec от процесса bash

wallutils судя по всему делает тоже самое. Так-же остаётся в итоге только один процесс swaybg. Поэтому я реальной разницы между swaybg и моим скриптом не вижу. Тем более, что мой скрипт явно решает проблему этой самой сероты

UtoECat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.