Цитата: butjapka от июля 31, 2022, 13:47:17и как вам с элем хватает терпения разбираться во всем этомТак лень же! Когда лень, то хватает духу что-то запилить и потом только на хоткейчики щёлкать.
Цитата: danwer от июля 24, 2022, 00:35:34можно извлекать не только весь текст из картинкиУ меня есть на форуме описание, как извлекать текст с фрагмента картинки https://forum.xubuntu-ru.net/index.php?topic=1117.msg13073;topicseen#msg13073
Цитата: butjapka от июля 31, 2022, 13:47:17и как вам с элем хватает терпения разбираться во всем этом...Ну, видимо особая привязанность к xfce . Пробовал различные дистрибутивы, но неизменно возвращался на xubuntu. А что касается эля, то мне до него далеко с его тоннами скриптов. Я в линухе с 2018, а он значительно раньше.
#!/bin/bash
# ВЫКЛЮЧЕНИЕ КОМПЬЮТЕРА ПО ТАЙМЕРУ (в минутах)
# Создание переменной TIME, в которую будет сохраняться вывод команды yad
TIME=$(yad --skip-taskbar --entry --title="Выключение компьютера" --text="\nЧерез сколько минут выключить компьютер?" --window-icon=/usr/local/icons/app/yad/question.png --geometry=380x50 --button=Отмена:35 --button=OK:0)
# Если нажата кнопка "Отмена", то завершение скрипта
if [ $? = 35 ]; then
exit
fi
# Присваиваем переменной m значение TIME умноженное на 60 (перевод в секунды)
m=$(($TIME*60))
#Отработка установленного значения таймера
sleep $m
yad --skip-taskbar --title="Выключение компьютера" --text="\nЧерез 20 секунд компьютер будет выключен! \n Отменить выключение?.." --window-icon=/usr/local/icons/app/yad/warning.png --geometry=380x50 --button=Да:35 --timeout=20
# Если нажата кнопка "Да", то завершение скрипта
if [ $? = 35 ]; then
exit
fi
# Выключение компьютера
shutdown -h now
[Desktop Entry]
Name=Выключение ПК по таймеру
Comment=
Exec=/usr/local/bin/scripts/shutdown_time.sh
Type=Application
Categories=System
Icon=/usr/local/icons/shutdown_time.png
Terminal=false
#!/bin/bash
# ---Отмена выключение компьютера по таймеру---
yad --skip-taskbar --title="Отмена выключение компьютера по таймеру" --text="\nВы действительно хотите отменить выключение компьютера по таймеру?" --window-icon=/usr/local/icons/app/yad/warning.png --geometry=400x50 --button=Да:0 --button=Нет:35 --timeout=20
# Если нажата кнопка "Нет", то завершение скрипта
if [ $? = 35 ]; then
exit
fi
killall -s 15 shutdown_time.sh
killall -s 15 sleep
[Desktop Entry]
Name=Отмена выключения ПК по таймеру
Comment=
Exec=/usr/local/bin/scripts/shutdown_time_off.sh
Type=Application
Categories=System
Icon=/usr/local/icons/shutdown_time_off.png
Terminal=false
sudo apt install yad wmctrl
#!/bin/bash
# Закрытие DC если был открыт
if wmctrl -l | grep -q 'Double Commander'; then
killall -s 15 doublecmd
fi
theme=$(yad --list --column=" Выбор темы системы":tip "Flat-Remix-GTK-Grey-Dark (тёмная)" "Greybird-m (светлая)" "Shades-of-gray (тёмная)" "PingGuo-white (светлая)" \
--title "" \
--skip-taskbar --window-icon=/usr/local/icons/app/yad/theme.png --width=350 --height 170 \
)
if [ $? -ne 0 ]; then
exit
fi
if [[ $theme == "Flat-Remix-GTK-Grey-Dark (тёмная)|" ]]; then
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s Flat-Remix-GTK-Grey-Dark
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s Flat-Remix-GTK-Grey-Dark
fi
if [[ $theme == "Greybird-m (светлая)|" ]]; then
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s Greybird-m
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s Greybird-m
fi
if [[ $theme == "Shades-of-gray (тёмная)|" ]]; then
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s Shades-of-gray
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s Shades-of-gray
fi
if [[ $theme == "PingGuo-white (светлая)|" ]]; then
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s PingGuo-white
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s PingGuo-white
fi
#!/bin/bash
# ИЗМЕНЕНИЕ ТЕМЫ НА ПРОТИВОПОЛОЖНУЮ (ТЁМНАЯ/СВЕТЛАЯ) В ОДИН КЛИК
# Закрытие DC если был открыт
if wmctrl -l | grep -q 'Double Commander'; then
killall -s 15 doublecmd
fi
grep "Flat-Remix-GTK-Grey-Dark" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml && t="black"
grep "Shades-of-gray" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml && t="black"
grep "Greybird-m" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml && t="white"
grep "PingGuo-white" ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml && t="white"
if [[ $t == "black" ]]; then
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s Greybird-m
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s Greybird-m
else
#Изменение темы
xfconf-query -c xsettings -p /Net/ThemeName -s Flat-Remix-GTK-Grey-Dark
#Изменение темы заголовков окон
xfconf-query -c xfwm4 -p /general/theme -s Flat-Remix-GTK-Grey-Dark
fi
[Desktop Entry]
Name=Выбор темы системы
Comment=
Exec=/usr/local/bin/change_b-w.sh
Type=Application
Categories=System;
Icon=/usr/local/icons/themes/theme.png
Terminal=false
sudo apt install scrot yad tesseract-ocr tesseract-ocr-rus
#!/bin/bash
# ИЗВЛЕЧЕНИЕ ТЕКСТА ИЗ ИЗОБРАЖЕНИЯ
sleep 1
name=$(date '+%d-%m-%Y_%H:%M:%S')
scrot -sf '/tmp/0.png' -e 'xclip -selection clipboard -target image/png -i'
mogrify -resize 400% -modulate 110,110,100 -median 1 -blur 0x0.4 -unsharp 0x12+2+0 -density 300 /tmp/0.png
tesseract /tmp/0.png /tmp/0 -l eng+rus --psm 6 &> /dev/null &
pid1=$!
while true
do
printf "$i\n"
sleep 0.5
if ! [[ $(ps | grep "$pid1") ]]; then
break
fi
done | (yad --skip-taskbar --progress --title="Извлечение текста.." --auto-close --no-cancel --pulsate --button=Отмена:35 --progress-text=" " --window-icon=/usr/local/icons/app/yad/empty.png --geometry=300x90)
if [ $? = 35 ]; then
kill -9 $pid1
fi
mv /tmp/0.txt ~/Документы/ocr/$name.txt
#Удаление последней строки с кракозяброй
sed -i '$ d' ~/Документы/ocr/$name.txt
rm -f /tmp/0.png
yad --skip-taskbar --window-icon=/usr/local/icons/app/yad/empty.png --title="Инфо" --button="gtk-ok:0" --image=/usr/local/icons/app/yad/ok.png --text="Готово! \nИзвлечённый текст лежит в ~/Документы/ocr/ "
[Desktop Entry]
Name=OCR
Comment=Распознавание текста на картинках
Exec=/usr/local/bin/ocr.sh
Type=Application
Categories=Graphics
Icon=/usr/local/icons/ocr.png
Terminal=false
sudo apt install mpv
При этом автоматом установится youtube-dl, но он нам не нужен ввиду различных косяков и это совсем другая история. sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod 755 /usr/local/bin/yt-dlp
sudo apt purge -y youtube-dl
sudo mv /usr/local/bin/yt-dlp /usr/local/bin/youtube-dl
Если система 22.04 , то последняя команда (переименование с youtube-dl в yt-dlp ) не нужна.sudo apt install yad xsel wmctrl xdotool
#!/bin/bash
# ОБРАБОТКА ВИДЕОССЫЛОК В БРАУЗЕРАХ (youtube и т.д.) (Alt + Y)
#Создание каталога Разное, если его нет.
if ! [ -d "/home/$USER/Видео/Разное" ]; then
mkdir "/home/$USER/Видео/Разное"
fi
#Присвоение переменной url значения из буфера обмена
url=$(xsel --clipboard --output)
#оставляем в названии будующего файла только 70 начальных символов
b=${url:6:76}
#убираем из скопированного буфера обмена символ прямого слэша, запрещённый для имён файлов в линуксе
c=${b////}
#Воспроизведение в mpv или скачивание или создание ссылки
choice=$(yad --list \
--column=" Что сделать?":tip "Воспроизвести в MPV плейере" \
"Создать ссылку в ~/Видео/Разное/" \
"Скачать видео в ~/Видео/Разное/" \
--title "" \
--window-icon=/usr/local/icons/app/yad/internetvideo.png --width=300 --height=200 \
--text " Обработка видеоссылки:" \
)
#Удаление последнего символа | , т.к yad косячно добавляет его в конце
if [[ "$choice" == *\| ]]; then
choice=${choice::-1}
fi
if [[ $choice == "Воспроизвести в MPV плейере" ]]; then
#Выбор качества видео
quality=$(yad --list \
--column="":tip "Авто" "360p" "720p" \
--title "" \
--window-icon=/usr/local/icons/app/yad/quality.png --width=300 --height=200 \
--text " Выбор качества видео:" \
)
if [ $? -ne 0 ]; then
exit
fi
#Удаление последнего символа | , т.к yad косячно добавляет его в конце
if [[ "$quality" == *\| ]]; then
quality=${quality::-1}
fi
if [ $quality == "360p" ]; then
quality="18"
fi
if [ $quality == "720p" ]; then
quality="22"
fi
#Функция "Индикация с помощью прогресс-бара Yad"
indicate(){
yad --progress \
--title="Запуск видеоссылки в MPV.." \
--auto-close \
--pulsate \
--button=Отмена:35 \
--progress-text="ждём.." \
--window-icon=/usr/local/icons/app/yad/empty.png \
--image=/usr/local/icons/app/yad/internetvideo.png \
--geometry=400x70 &
sleep 1
t=0
#цикл, пока не запустится mpv(процесс $pid1)
while ! wmctrl -l | grep -e '- mpv'
do
sleep 0.5
#если принудительно закрыть окно Yad (кнопка "Отмена"), то
if ! wmctrl -l | grep -e 'Запуск видеоссылки в MPV..' ;then
kill -15 $pid1
break
fi
#если примерно через 40 сек. не запустится mpv, то произойдёт выход из скрипта.
if [ $t -eq 80 ]; then
#Закрытие окна Yad
wmctrl -F -c 'Запуск видеоссылки в MPV..'
yad --skip-taskbar \
--title="" \
--text "\n Неудачно! \n" \
--window-icon=/usr/local/icons/app/yad/empty.png \
--image=/usr/local/icons/app/yad/warning.png \
--geometry=200x20 \
--button=Выход:0
break
fi
(( t++ ))
done
#Закрытие окна Yad
wmctrl -F -c 'Запуск видеоссылки в MPV..'
}
#Запуск mvp
if [ $quality == "Авто" ]; then
mpv --ytdl-format=best "$url" &
pid1=$!
indicate
else
mpv --ytdl-format=$quality "$url" &
pid1=$!
indicate
fi
fi
if [[ $choice == "Создать ссылку в ~/Видео/Разное/" ]]; then
#создаём пустой файл URL.desktop в /home/$USER/Видео/Разное/
touch /home/$USER/Видео/Разное/URL.desktop
#наполняем файл URL.desktop необходимыми строками
echo -e [Desktop Entry] > /home/$USER/Видео/Разное/URL.desktop
echo -e Version=1.0 >> /home/$USER/Видео/Разное/URL.desktop
echo -e Type=Link >> /home/$USER/Видео/Разное/URL.desktop
if [[ $url == *"youtu"* ]]; then
echo -e Icon=%Commander_path%/icons/net/youtube.png >> /home/$USER/Видео/Разное/URL.desktop
else
echo -e Icon=%Commander_path%/icons/url_stream.png >> /home/$USER/Видео/Разное/URL.desktop
fi
echo -e URL="$url" >> /home/$USER/Видео/Разное/URL.desktop
echo -e Comment=Stream:yes >> /home/$USER/Видео/Разное/URL.desktop
#переименовываем файл URL.desktop
mv /home/$USER/Видео/Разное/URL.desktop /home/$USER/Видео/Разное/$c.desktop
#Изменяем права ./$c.desktop
chmod 775 /home/$USER/Видео/Разное/$c.desktop
yad --skip-taskbar \
--window-icon=/usr/local/icons/app/yad/empty.png \
--title="Инфо" \
--button="gtk-ok:0" \
--image=/usr/local/icons/app/yad/ok.png \
--text="Готово! \nСсылка лежит в ~/Видео/Разное/ "
fi
if [[ $choice == "Скачать видео в ~/Видео/Разное/" ]]; then
#Выбор качества видео
quality=$(yad --list \
--column="":tip "Авто" "360p" "720p" \
--title "" \
--window-icon=/usr/local/icons/app/yad/quality.png --width=250 --height 190 \
--text " Выбор качества видео:" \
)
if [ $? -ne 0 ]; then
exit
fi
#Удаление последнего символа | , т.к yad косячно добавляет его в конце
if [[ "$quality" == *\| ]]; then
quality=${quality::-1}
fi
#запуск терминала с параметром -e
if [ $quality == "Авто" ]; then
x-terminal-emulator -e sh -c 'echo ""
url=$(xsel --clipboard --output)
yt-dlp -f best -o "~/Видео/Разное/%(title)s-%(id)s.%(ext)s" $url
echo ""
echo ""
echo "Готово! \nСкаченное видео лежит в ~/Видео/Разное/"
echo ""
echo -n "\033[37;1;41m "Нажмите [ENTER] для выхода.." \033[0m" ; read a'
fi
if [ $quality == "360p" ]; then
x-terminal-emulator -e sh -c 'echo ""
url=$(xsel --clipboard --output)
yt-dlp -f 18 -o "~/Видео/Разное/%(title)s-%(id)s.%(ext)s" $url
echo ""
echo ""
echo "Готово! \nСкаченное видео лежит в ~/Видео/Разное/"
echo -n "\033[37;1;41m "Нажмите [ENTER] для выхода.." \033[0m" ; read a'
fi
if [ $quality == "720p" ]; then
x-terminal-emulator -e sh -c 'echo ""
url=$(xsel --clipboard --output)
yt-dlp -f 22 -o "~/Видео/Разное/%(title)s-%(id)s.%(ext)s" $url
echo ""
echo ""
echo "Готово! \nСкаченное видео лежит в ~/Видео/Разное/"
echo -n "\033[37;1;41m "Нажмите [ENTER] для выхода.." \033[0m" ; read a'
fi
fi
[Desktop Entry]
Name=Запуск видеоссылок в MPV
Comment=Запуск видеоссылок в MPV
Exec=/usr/local/bin/link_youtube.sh
Type=Application
Categories=Network
Icon=/usr/local/icons/internetvideo.png
Terminal=false