То, является ли файл символической ссылкой на другой файл, не влияет на то, как он работает. telinit
, как и systemctl
, работает как «обычный» процесс.
Хорошо, прочитав исходный код feh , я решил, что проблема связана с xinerama. Несмотря на то, что это невозможно решить красивым способом, вот сценарий, который служит обходным путем:
#!/bin/bash
# Compute screen size
size=$(xrandr | grep *+ -m 1 \
| sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
# then manually collate a combined picture for two screens and
# launch feh without xinerama functionality
convert [path/to/picture] \
-trim \
-resize $size \
-background black -compose Copy \
-gravity center -extent $size \
-quality 92 +duplicate +append JPG:- \
| feh --bg-max --no-xinerama -
Как написано в комментариях к скрипту, скрипт вычисляет размер экрана, а затем вручную сопоставляет комбинированное изображение для двух экранов (с помощью инструмента imagemagick )и запускает feh вообще без функциональности xinerama.
Это работает как в cron, так и в интерактивном режиме. Однако это, вероятно, не будет работать очень хорошо, если экраны разных размеров.