Здрассте)
Только недавно начал знакомство с PappyRus-A и на правах неофита представляю свой первый, написанный в этой системе, волшебный мега-скрипт
позволяющий подгружать бинарники из модулей /optional автоматически. Идея скрипта простая, в каталог /usr/local/bin кладётся ссылка на этот скрипт с именем бинарника, а при вызове подгружается pfs и бинарник запускается, после выполнения - выгружается.
#!/bin/bash
# Загрузка бинарников в /usr/bin, если их там нет или их запуск из /usr/local/bin.
bin_name=$(echo $0| cut -d\/ -f5)
if [ ! -f "/usr/bin/$bin_name" ];
then
# load pfs
sudo -u live notify-send -i findnrun " Загружается " " $bin_name"
sudo rm -f /usr/local/bin/$bin_name
# ../pra/.. та директория в которой расположен PRA
sudo pfsload -r /mnt/home/pra/optional/$bin_name.pfs
# start bin
/usr/bin/$bin_name "$@"
# unload pfs
sudo pfsunload $bin_name.pfs
sudo rm -f /usr/local/bin/$bin_name
sudo -u live notify-send -i media-flash " Выгрузка" " $bin_name"
sudo ln -s /usr/local/bin/bin-load.sh /usr/local/bin/$bin_name
else
sudo -u live notify-send -i $bin_name " Приложение " " $bin_name"
/usr/bin/$bin_name "$@"
fi;
exit
Что бы заработало, нужен модуль с именем бинарника и одноимённая ссылка в /usr/local/bin. К примеру, выбираем разработка - поиск и создание модуля - tmux, пакуем в ../optional/tmux.pfs, скрипт и ссылку в /usr/local/bin:
sudo ln -s /usr/local/bin/bin-load.sh /usr/local/bin/tmux
Ну и дальше обычный запуск из терминала(или какого-нибудь скрипта) - по комманде tmux, загружается модуль pfs и программка становится доступной, т.е. прозрачная загрузка модулей... теоретически
...из скриптов не пробовал... Зато большинство модулей приложений (с 80% модулей это работает, скрипт не универсальный, некоторые же программки запускаются из /opt, с ними этот фокус не проходит)) ... у меня большая часть приложений из modules перенесена в optional, понаделал на них ссылок и они работают, а PRA03Fat теперь из 60+ модулей грузится 19 без потери функционала, единственное, чтобы запускать из меню, нужно добавить из модуля pfs в /usr/share/application/файл.desktop и иконку /usr/share/icons. Вроде всё...
PS: Ну да, я не самый крутой кодер :[ понимаю, что скрипт далёк от совершества, может даже не оригинален, хотя до этой идеи я дошёл самостоятельно! ) В любом случае, может прокатит за антиоффтопик, мне бы хотелось сказать спасибо, всем кто разрабатывает и поддерживает PRA-linux... Операционка просто шикарна, компактна, удобна и вообще вне конкуренции... типа спасибо) Ну и с юбилеем форум и всех его обитателей!
PPS: Ах да, пока ковырялся со скриптом, обнаружился небольшой баг с notify-send, лежащей в /usr/local/bin, у меня оно с каждым запуском создавало по копии dbus-daemon, xfconfd и ещё чего-то, вроде бы как все процессы маленькие, но когда их переваливает за пару десятков - система начнает заметно притормаживать, зато /isr/bin/notify-send данным глюком не страдает, оставил только её (/usr/local/bin/notify-send -> /usr/bin/notify-send*)