воскресенье, 1 мая 2016 г.

Скрипты и особые действия в файловом менеджере

В папке MyApps у меня находится несколько скриптов, облегчающих жизнь. Опишу их назначение и содержание.

1. Многие программы под wine давно уже не устанавливаются, как положено. Папки с ними остались от предыдущих установок ОС и ПО (и даже были просто скопированы когда-то из Windows). Поэтому для запуска этих программ достаточно выполнять скрипт, аналогичный такому:
#!/bin/bash
cd "/home/vvv/.wine/drive_c/Program Files/AlReader"
wine "/home/vvv/.wine/drive_c/Program Files/AlReader/AlReader2.exe"
2. Оперативная память в процессе заполняется кэшем, в т.ч. файловых операций. И автоматически освобождается, если память понадобилась другим программам, часть может сброситься в файл подкачки, если он имеется Это вовсе не обязательно, но если есть желание, можно очистить кэш (скажем, перед запуском программы, требующей много места в памяти):
#!/bin/bash
gksudo sysctl -w vm.drop_caches=3; play /home/vvv/Media/Sounds/Yes.wav
Последняя команда - для издания радостного возгласа "Yes!" по завершении.
3. Скрипт можно назначить для выполнения при нажатии на значок уведомления о новых письмах в трее, для Почты Майла и этого браузера:
#!/bin/bash
chromium http://e.mail.ru/cgi-bin/msglist
4. Для запуска Java-программ (нужно, например, для более новой версии gpsprune, нежели чем в репозитории):
#!/bin/bash
java -jar /home/vvv/MyApps/gpsprune/gpsprune.jar %f
5. Отключение HDD (понятно, не для основного с ОС и home) и остановка его двигателя:
#!/bin/bash
umount /media/vvv/data
gksu -u root 'hdparm -y /dev/sdb'
6. При установленном festival, для озвучивания текущего времени в начале каждого часа:
#!/bin/bash
dat=`date +%H` #Время (кол-во часов)
night=5 #Конец ночи
morning=11 #Конец утра
afternoon=18 #Конец дня
evening=24 #Конец вечера
if [ $dat -le $night ]
then
echo "Доброй ночи, не пора ли спать?" | festival --tts --language russian
elif [ $dat -gt $night ] && [ $dat -le $morning ]
then
echo "Доброе утро." | festival --tts --language russian
elif [ $dat -gt $morning ] && [ $dat -le $afternoon ]
then
echo "День добрый." | festival --tts --language russian
elif [ $dat -gt $afternoon ] && [ $dat -le $evening ]
then
echo "Вечер добрый." | festival --tts --language russian
fi
echo "Местное время" $dat "ровно" | festival --tts --language russian
7. Приветствие при запуске ОС с сообщением даты и времени:
#!/bin/bash
dat=`date +%H` #Время (кол-во часов)
day=`date +%A` #День недели
mont=`date +%B` #Месяц
num=`date +%e` #Число месяца
minut=`date +%M` #минута
n=$num #Порядковый номер названия числа словами в массиве chislo
night=5 #Конец ночи
morning=11 #Конец утра
afternoon=18 #Конец дня
evening=24 #Конец вечера
chislo=(ЧислаСловами первое второе третье четвёртое пятое шестое седьмое восьмое девятое десятое одиннадцатое двенадцатое тринадцатое четырнадцатое пятнадцатое шестнадцатое семнадцатое восемнадцатое девятнадцатое двадцатое двадцатьпервоое двадцатьвтороое двадцатьтретье двадцатьчетвёртоое двадцатьпятоое двадцатьестоое двадцатьседьмоое двадцатьвосьмоое двадцатьдевятоое тридцатое тридцатьпервоое)
if [ $dat -le $night ]
then
echo "Между прочим, уже пора спать" | festival --tts --language russian
elif [ $dat -gt $night ] && [ $dat -le $morning ]
then
echo "Доброе утро" | festival --tts --language russian
elif [ $dat -gt $morning ] && [ $dat -le $afternoon ]
then
echo "День добрый" | festival --tts --language russian
elif [ $dat -gt $afternoon ] && [ $dat -le $evening ]
then
echo "Вечер добрый. Приятного отдыха." | festival --tts --language russian
fi
echo "Сегодня" $day, $mont, ${chislo[n]} "число." $dat "$minut." | festival --tts --language russian
8. В настройках программ можно назначить воспроизведение заданного текста таким образом:
#!/bin/bash
echo "Торрент успешно ск+ачан." | festival --tts --language russian
То же самое - в планировщике задач.orage.
9. Особые действия в меню thunar можно, во-первых, самостоятельно перевести на русский язык, отредактировав их. Во-вторых, можно кое-что и добавить. Например, Открыть в Google Earth выделенный файл *.gpx:
gpsbabel -i gpx -f %n -o kml -F /tmp/KML.kml;googleearth /tmp/KML.kml
Условия появления - шаблон: *.gpx
10. Преобразовать файл трека в формате FIT в GPX:
gpsbabel -t -i garmin_fit -f %n -o gpx -F %n.gpx
Условия появления - шаблон: *.fit
11. Ну и заодно файл настроек .concyrc (возможно, где-то его следовало бы сократить, но работает, и ладно, если у Вас один процессор, то удалите строки о втором процессоре, иначе не заработает, ну и отредактируйте остальное, как Вам угодно)
background yes
use_xft yes
xftalpha 0.6
own_window_class Conky
own_window yes
own_window_type normal
own_window_colour 00021F
own_window_transparent no
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# 0 = transparent, 255 = solid
own_window_argb_value 250
double_buffer yes
update_interval 1
total_run_times 0
maximum_width 290
alignment bottom_right
gap_x 5
gap_y -15

no_buffers yes
uppercase no
cpu_avg_samples 5
net_avg_samples 5
diskio_avg_samples 5
if_up_strictness address

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color lightgray
default_shade_color red
default_outline_color green
short_units true
use_spacer none
xftfont DejaVu Sans Mono:size=14

template0 ${font Open Sans:Bold:size=16}${color E07A1F}\1 ${hr 2}$color${font}${voffset 1}
#fs_free
#template1 \1 ${fs_free\ \1}${alignr\ 65}${fs_bar\ \1}
template1 \1 ${alignr}${fs_free\ \1}
#${alignr\ 65}${fs_bar\ \1}
#template1 \1 ${alignr\ 80}${fs_bar\ \1}
template2 ${\1 name \2}${alignr}${\1 \3 \2} %
template3 ${if_up \1}${template0 \2}\ndown $alignr ${downspeed \1}/s\nup $alignr ${upspeed \1}/s\ntotal down$alignr${totaldown \1}\ntotal up $alignr${totalup \1}$endif

TEXT
$color${font}${font Open Sans:size=44}$alignr${time %H:%M}$font$color${font Open Sans:size=15}
$alignr${time %a}, ${time %d %b %Y}$font$color
# Система
${template0 SYSTEM}
OS $alignr MX-15_x64 Fusion
Kern$alignr $kernel
Desktop $alignr Xfce 4.12.2
Host $alignr ${nodename}
Uptime $alignr $uptime
Display ${color3}${alignr}${execi 60 xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}
Раб.место - ${color yellow}${desktop_name}
# Процессоры
${template0 CPU}
# Для первого ядра
$color${font}Intel Core i5-3317U $alignr ${execi 30 sensors | grep 'Core 0' | awk '{print $3}' | sed 's/+//' | sed 's/\.0//g'}
$color${freq 1} MHz ${alignr}${color blue}${cpu cpu1} % ${cpubar cpu1 14,90}
$color${freq 2} MHz ${alignr}${color blue}${cpu cpu2} % ${cpubar cpu2 14,90}
# Для второго ядра, если есть
$color${font}Intel Core i5-3317U $alignr ${execi 30 sensors | grep 'Core 1' | awk '{print $3}' | sed 's/+//' | sed 's/\.0//g'}
$color${freq 3} MHz ${alignr}${color blue}${cpu cpu3} % ${cpubar cpu3 14,90}
$color${freq 4} MHz ${alignr}${color blue}${cpu cpu4} % ${cpubar cpu4 14,90}
# Память RAM
${template0 RAM}
$color${mem} / ${memmax} ${alignr}${color darkgreen}${membar 14,90}
# Если есть swap
${color yellow}ch ${color lightgray}${cached} ${color yellow}sw ${color lightgray}${swap} ${alignr} ${color yellow}fr ${color lightgray}${memfree}
# Без swap
#${color yellow}cached ${color lightgray}${cached} ${alignr}${color yellow}free ${color lightgray}${memfree}
# Процессы, наиболее нагружающие:
${template0 TOP}
# Процессор
$color${font Open Sans:bold:size=14}CPU
$font${template2 top 1 cpu}
${template2 top 2 cpu}
${template2 top 3 cpu}${voffset 5}
# Память
$color${font Open Sans:bold:size=14}RAM
$font${template2 top_mem 1 mem}
${template2 top_mem 2 mem}
${template2 top_mem 3 mem}
# Свободно на разделах
${template0 FREE}
${template1 /}
${template1 /home}
${template1 /data}
#${template1 /media/vvv/T-res}
# Сетевые подключения
${template0 NET}
#wlan0$font ${wireless_link_qual_perc wlan0}% ${alignr}${addr wlan0}
#Down: ${downspeed wlan0} ${alignr}Up: ${upspeed wlan0}
eth0$font ${alignr}${addr eth0}
Down: ${downspeed eth0} ${alignr}Up: ${upspeed eth0}