Я искал инструмент, который либо работает, либо может быть настроен для следующей задачи.
Моя конечная цель - использовать терминал для открытия и навигации по некоторой папке, содержащей изображения. Поведение, которое я ищу, похоже на mplayer, где пользователь может вводить данные через терминал в окно дисплея.
В частности, я хотел бы передать /home/parrot/Pictures/* в качестве аргумента какой-либо программе CLI. Программа открывает первую фотографию и ожидает ввода, с помощью какой-либо клавиши (предположительно клавиши со стрелкой) программа сообщает окну дисплея, чтобы получить следующую фотографию.
Я изучил и также был рекомендован feh, но программа, похоже, не решает эту проблему. Пока он работает в фоновом режиме, я безуспешно пытался получить следующую фотографию с помощью серии случайных нажатий клавиш. Я также изучил функциональные возможности его клавиши действия, но они относятся только к отображаемому окну, а не к терминалу.
Кто-нибудь уже разобрался с такой установкой? Мои навыки поиска в Google подвели меня?
TLDR
Попробуйте mvi , модификацию mpv
для просмотра изображений. Ручная установка:
mpv
он установлен ( например sudo apt install mpv
).~/.config/mpv
Затем, если каталога нет , создайте его:mkdir ~/.config/mpv
mvi
, ( image.lua, input-image.conf и mpv.conf ): wget https://gist.github.com/haasn/7919afd765e308fa91cbe19a64631d0f/archive/5dd2e4351fe24815b8d3ca5719ed276ed3aba5df.zip
и распакуйте его в каталог ~/.config/mpv .Из командной строки:
alias mvi='mpv -profile image'
Предполагая , что ~/Pictures не пусто, запустите mvi ~/Pictures/*
.
Я придумал хитроумное решение исходной проблемы.
Сценарий ниже решит проблему, используя eog. Текущая проблема заключается в том, что он нестабилен, происходит сбой, если вы слишком быстро просматриваете изображения. В зависимости от вашего терминала/менеджера окон вам может потребоваться настроить некоторые параметры, чтобы сохранить фокус в вашем терминале при запуске окна.
Сценарий в настоящее время настроен для фильтрации изображений png, любому, кто хочет его использовать, может потребоваться изменить его на jpeg или расширить сценарий для обработки нескольких расширений файлов.
Я все еще надеюсь на лучшее решение, я думал, что поделиться своим прогрессом может помочь.
-ShadyP
Шаги
В вашем первом терминале eog /home/parrot/Pictures/
Во втором терминале./picScript.sh /home/parrot/Pictures/
#!/bin/bash
i=0
index[$i]= "temp"
echo "~~script unstable, use at own risk~~"
echo "due to lazy design eog must already be running from another terminal, failure to do so will cause this program to deadlock waiting for eog to return\n "
echo "Press k to go to next"
echo "Press j to go to previous"
echo "ctrl + c to quit"
IFS=$'\n'
for filename in $1*.png; do
index[$i]=$filename
i=$((i+1))
done
i=0
eog -w ${index[$i]}
while true; do
read -n 1 input
if [ "$input" = "j" ] && [ $i != 0 ] ;then
i=$((i- 1))
eog -w ${index[$i]}
elif [ "$input" = "k" ] && [ $i != "${#index[@]}" ] ; then
i=$((i+1))
eog -w ${index[$i]}
fi
done
агр