LINUX.ORG.RU

Сообщения dexpl

[Велосипед][Быдлокод] Скрипт для отмонтирования носителей через меню

Форум - Desktop

Subj. Скрипт при помощи dmenu отображает список съемных устройств в виде "точка монтирования (файл устройства)", пытается отмонтировать посредством udisks выбранное пользователем устройство и выдает через notify-send сообщение об успехе либо возвращенную udisks причину неуспеха. Сообщение автоматически исчезает через 10 секунд.

Как пользоваться: положить куда-нибудь в PATH (к примеру, ~/bin/umgui или /usr/local/bin/umgui) и назначить средствами WM/DE вызов на горячую клавишу.

Скрипт написан на shell (проверялось на bash, но, думаю, заработает на любом POSIX-совместимом shell), помимо udisks, dmenu и notify-send требует awk. Проверен на Russian Fedora Remix 14.

Собственно umgui:

#!/bin/sh
# vi:noet:ts=2:sw=2:ft=sh:sta:si:tw=80

# Assume a device to be user-unmountable if a corresponding line in mount(8)
# contains a $UM_MARKER substring
UM_MARKER="uhelper=udisks"
# A command to actually unmount the device. Currently only udisks(1) is
# supported
UM_UNMOUNT_CMD=udisks
UM_UNMOUNT_CMD_ARGS=--unmount
# A command to display the menu with. Must be compatible with dmenu(1) i. e.
# take menu items from STDIN and output a selection to STDOUT
UM_MENU_CMD=dmenu
# TODO: l18n (gettext?) for notifies
# Notify displayed after successful unmount, %s is for device file (e. .g
# /dev/sda1)
UM_NOTIFY_OK="Now device %s can be safely removed"
# Notify displayed if there is nothing to unmount
UM_NOTIFY_NORD="No removable devices found"
UM_NOTIFY_CMD=notify-send
UM_NOTIFY_ARGS="-t 10000"
UM_NOTIFY_ARGS_CRIT="$UM_NOTIFY_ARGS -u critical"

# Echoes $1 (optional) and exits with status $2 (optional)
_exit () {
	[ $# -eq 0 ] && exit
	[ $# -eq 1 ] && {
		echo $1
		exit
	}
	[ $# -eq 2 ] && {
		echo $1 >&2
		exit $2
	}
}

# Graphically echoes $1 (optional) and exits with status $2 (optional)
_exit_gui () {
	[ $# -eq 0 ] && exit
	[ $# -eq 1 ] && {
		"$UM_NOTIFY_CMD" $UM_NOTIFY_ARGS "$1"
		exit
	}
	[ $# -eq 2 ] && {
		"$UM_NOTIFY_CMD" $UM_NOTIFY_ARGS_CRIT "$1"
		exit $2
	}
}

for CMD in "$UM_UNMOUNT_CMD" "$UM_MENU_CMD" "$UM_NOTIFY_CMD" ; do
	which "$CMD" > /dev/null 2>&1 || _exit "$CMD: command not found" 1
done

MOUNTPOINTS=$(mount | awk '/'"$UM_MARKER"'/ { print $3,"("$1")" }')
[ -z "$MOUNTPOINTS" ] && _exit_gui "$UM_NOTIFY_NORD" 2
DEVICE=$(echo "$MOUNTPOINTS" | "$UM_MENU_CMD" | awk '{ print $2 }' | tr -d ')(')
[ -z "$DEVICE" ] && _exit
# TODO: rewrite the code below when (and if) someone rewrites udisks to exit
# with non-zero status on error
UM_UNMOUNT_CMD_ARGS="$UM_UNMOUNT_CMD_ARGS $DEVICE"
UM_UMNOUNT_CMD_MSG=$("$UM_UNMOUNT_CMD" $UM_UNMOUNT_CMD_ARGS 2>&1)
[ -z "$UM_UMNOUNT_CMD_MSG" ] || _exit_gui "$UM_UMNOUNT_CMD_MSG" 3
_exit_gui "$(printf "$UM_NOTIFY_OK" "$DEVICE")"

()

Можно ли сделать так, чтобы mplayer приостанавливал воспроизведение при активации скринсейвера?

Форум - Desktop

Можно ли сделать так, чтобы mplayer приостанавливал воспроизведение при активации скринсейвера? Если да, то как?

()

[OOo]Есть ли у инфра-ресурс rpm-репозиторий?

Форум - General

Навеяно вопросом про deb-репозиторий сабжа (http://www.linux.org.ru/view-message.jsp?msgid=2957916).
А то не хочется каждый раз руками ставить их сборку опенофиса

>>>

()

Некорректные (?) ссылки

Форум - Linux-org-ru

Вдогонку к http://www.linux.org.ru/view-message.jsp?msgid=2426280. На странице http://www.linux.org.ru/view-links.jsp?group=5924 ("Конференции, чаты, форумы") размещены, ко всему прочему, http://www.linuxoid.ru/, http://www.linuxserver.ecom-ukraine.com/ и http://unixquestions.timeold.ru/. Первое - ссылка на web-студию "Интермаркет", второе - "Under Construction", третье - "общая ошибка". "Интермаркет", ПМСМ, совсем уж неуместен

>>>

()

Очередной странный Job

Форум - Linux-org-ru
()

Обновления безопасности для PostgreSQL версий 8.2, 8.1, 8.0, 7.3+

Новости - Безопасность
Группа Безопасность

Позавчера вышли обновления для для PostgreSQL 8.X, устраняющие ошибки CVE-2007-0555 и CVE-2007-0556 (http://cve.mitre.org/cgi-bin/cvename.... и http://cve.mitre.org/cgi-bin/cvename....). Данные обновления являются заменой вышедшим 5 февраля. Также доступны обновления для ветки 7 версий.

http://www.postgresql.org/about/news.744

>>> Подробности

()

Небольшое уточнение в LOR FAQ

Форум - Linux-org-ru

http://beta.linux.org.ru/books/lor-faq/lorFAQ-9.html#ss9.6

Вторая ссылка в ответе имеет вид http://beta.linux.org.ru/books/lor-faq/download.fedora.redhat.com/pub/fedora/... Должно быть http://download.fedora.redhat.com/pub/fedora/linux/core/development/ Исправьте, пожалуйста

BTW, какое отношение к GNOME имеет первая ссылка в ответе, тоже не совсем понятно (точнее, совсем непонятно :)

()

GMT+3

Форум - Talks

С Новым годом! Всем всего!!

Воронежцев поздравляю отдельно

()

Небольшое исправление в LOR FAQ

Форум - Linux-org-ru

В ответе 15.15 (http://www.linux.org.ru/books/lor-faq/lorFAQ-15.html#ss15.15) пятый абзац избыточно дублирует второй. IMHO, вариант, предлагаемый в "Викиучебнике" (http://ru.wikibooks.org/wiki/LOR-FAQ-X#.D0.9A.D0.B0.D0.BA_.D0.BF.D0.BE.D0.BA....) лучше. С уважением к авторам LOR FAQ и стремлением сделать его лучше

()

[beta.linux.org.ru] Вопросительные знаки

Форум - Linux-org-ru

Вопросительные знаки в новостях перед ником проверившего (т. е., на месте слова "Проверено"). Проявляется на beta, на www.linux.org.ru все нормально. Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.7.10) Gecko/20050717 Firefox/1.0.6

()