CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
23.01.2022

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Блогометки :: Десктопы

fluxbox.autorun

Немного поэкспериментировал с автораном в fluxbox'е. Пришел к такому виду как на картинке.

Работает все очень просто. Пункты меню, помеченные звездочкой, запускаются каждый раз при старте флукса, остальные - нет. При клике по пункту меню, поведение инвертируется, меню генерируется заново, уже с новыми значениями. Чтобы временно выключить/включить чего-нить, не трогая при этом скрипты запуска, вполне неплохо, ИМХО.

Как это работает. В папке ~/.fluxbox создал две новые - scripts, commands. В scripts лежат собственно скрипты автозапуска, по одному на пункт меню, соответствующий пункт меню называется именем скрипта:

 
diesel@beezir:~/.fluxbox$ ls -l scripts/
total 24
-rwxr-xr-x 1 diesel diesel 71 2007-09-18 08:16 feh
-rw-r--r-- 1 diesel diesel 21 2007-09-18 07:40 firefox
-rw-r--r-- 1 diesel diesel 20 2007-09-18 07:39 pidgin
-rw-r--r-- 1 diesel diesel 19 2007-09-18 07:41 torsmo
-rwxr-xr-x 1 diesel diesel 38 2007-09-18 08:15 xscreensaver
-rwxr-xr-x 1 diesel diesel 17 2007-09-18 07:40 xxkb
  
Скрипты в моем случае в две строчки:
 
diesel@beezir:~/.fluxbox$  cat scripts/xxkb
#!/bin/sh
xxkb &
 

В commands лежат два "служебных" скрипта, один генерирует меню:

 
diesel@beezir:~/.fluxbox$  cat commands/generate_scripts_menu.sh
#!/bin/sh

SCRIPTDIR=$HOME/.fluxbox/scripts/; CMDDIR=$HOME/.fluxbox/commands; MENU=$HOME/.fluxbox/menu-autorun

echo "" > $MENU ls "$SCRIPTDIR" | while read i; do if [ -x "$SCRIPTDIR/$i" ]; then echo "[exec] (*$i) { $CMDDIR/changeperm.sh $i }" >> $MENU else echo "[exec] ($i) { $CMDDIR/changeperm.sh $i }" >> $MENU fi done echo "[exec] (autorun-gen) { $CMDDIR/generate_scripts_menu.sh }" >> $MENU

Второй меняет права доступа к скриптам в scripts:

 
diesel@beezir:~/.fluxbox$  cat commands/changeperm.sh
#!/bin/bash

SCRIPTDIR=$HOME/.fluxbox/scripts CMDDIR=$HOME/.fluxbox/commands

if [ -x "$SCRIPTDIR/$1" ]; then chmod -x "$SCRIPTDIR/$1"; else chmod +x "$SCRIPTDIR/$1"; fi

$CMDDIR/generate_scripts_menu.sh

Соответствующее меню у меня лежит в MENU=$HOME/.fluxbox/menu-autorun, добавляется в "общеее" достаточно просто:


[submenu] (Autorun) [include] (~/.fluxbox/menu-autorun) [end]

Ну и остается внести изменения в ~/.fluxbox/startup, чтобы файлы которые лежат в ~/.fluxbox/scripts, ежели они являются исполняемыми - запускались. Что-то типа такого:

 
diesel@beezir:~/.fluxbox$  grep -vE '^#' startup 
exec /usr/bin/fluxbox &
fbpid=$!

sleep 1

{ wait $! SCRIPTDIR=$HOME/.fluxbox/scripts ls $SCRIPTDIR | while read i; do if [ -x $SCRIPTDIR/$i ]; then $SCRIPTDIR/$i & fi done ./generate_scripts_menu.sh & }&

wait $fbpid




Комментарии

олег, Tue Jul 8 11:29:12 2008:
можно ли сделать autorun для скрипта?
упячка, Fri Feb 29 18:08:44 2008:
аноним хуже педораза бугага!
аноним, Fri Feb 29 15:38:34 2008:
хуй
diesel, Sat Jan 26 14:47:33 2008:
> Вы находите, что дополнительное меню удобнее, чем ~/.Xclients

до того как делать эту менюшку, я редактировал запуск так как Вы говорите, правда через .xsession/.xinitrc (и сейчас уже с другим WM я продолжаю использовать эти конфиги). Но тогда было удобно сделать такую менюшку, так как часто хотелось вырубить автозапуск некоторых приложений, на непродолжительное время - а коментить конфиг текстовым редактором не хотелось. Поэтому родился вот такой fun (кстати нечего не мешает прекрутить автогенерацию менюшки на основе парсинга вашего ~/.Xclients ). Сейчас кстати идея управления самыми разными вещами через дополнительные сгенерированные меню во флуксе мне кажется еще более вкусной, после появления возможности делать собственные кастомные меню(не зависимыми от основного), и вызывать их хоткеями(AFAIR, в каком-то из rc первого флукса появилось ).
этот самый, Sat Jan 19 15:24:05 2008:
класс. очень понравилось
Доброжелатель, Mon Jan 14 22:12:28 2008:
Автору статьи


Вы находите, что дополнительное меню удобнее, чем ~/.Xclients (последнее, кстати, работает для любого оконного менеджера)?

Например, вкратце, так:

xscreensaver &
numlockx &
xxkb &
xterm -g 80x24+64+0 &
# oclock &

Если нужно что-то убрать из автозапуска — всего лишь закомментируем соответствующую строку.

Это, кстати, стандартный способ. А у Вас, уж извините, костыль. :)
Vertigo, Mon Jan 14 15:16:02 2008:
Фига ) Какая штука полезная. И как ведь просто всё сделано ) Респект!

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds