* [Comm] Вопрос по IceWM
@ 2007-09-10 14:36 Victor Zhuravlyov
0 siblings, 1 reply; 6+ messages in thread
From: Victor Zhuravlyov @ 2007-09-10 14:36 UTC (permalink / raw)
To: ALT Linux Community general discussions
Как заставить icewm использовать свои команды перезагрузки и
выключения в preferences
Из консоли всё выполняется, а из меню не хочет.
ЗЫ: понадобилось для выключения x-терминала
--
Regards, vitich at gmail dot com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Вопрос по IceWM
@ 2007-09-11 6:31 ` Евгений Терешков
2007-09-11 8:08 ` Victor Zhuravlyov
2007-09-11 8:10 ` Victor Zhuravlyov
0 siblings, 2 replies; 6+ messages in thread
From: Евгений Терешков @ 2007-09-11 6:31 UTC (permalink / raw)
To: ALT Linux Community general discussions
"Dmitriy Kruglikov" пишет:
> Как заставить icewm использовать свои команды перезагрузки и
> выключения в preferences
> Из консоли всё выполняется, а из меню не хочет.
А как вы это делаете из консоли? Какими командами (sudo?)? От какого
пользователя?
> ЗЫ: понадобилось для выключения x-терминала
>
> Найти в /etc/X11/icewm/preferences нужные настройки, написать такие же в ~
> /.icewm/prefoverride ...
> Убедиться, что они не закомментированы ...
> Или же прямо в /etc/X11/icewm/preferences убрать комментарий (#) и прописать
> свои команды.
Всё украдено до нас. Там из каробки всё прописано, если почитать. Так
делать надо, если значешь, что хочешь. :-)
> Убедиться, что они доступны пользователю на выполнение (есть права) ...
> И все ... Должно работать ...
Просто напросто:
apt-getinstall SySVinit-usermode
Если ничего особо больше не ломать, то всё работает.
--
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Вопрос по IceWM
2007-09-11 6:31 ` Евгений Терешков
@ 2007-09-11 8:08 ` Victor Zhuravlyov
2007-09-17 13:16 ` Michael Shigorin
2007-09-11 8:10 ` Victor Zhuravlyov
1 sibling, 1 reply; 6+ messages in thread
From: Victor Zhuravlyov @ 2007-09-11 8:08 UTC (permalink / raw)
To: ALT Linux Community general discussions
Рассказываю по порядку.
Сначала создаются два пользователя remote-powerdown remote-reboot с
соответствующим шеллом )
Есть скрипт использующий expect:
[vitich@vitich poweroff]$ cat ssh_poweroff.expect
#!/usr/bin/expect -f
# usage: ssh_poweroff [terminal_address]
set PASSWORD "FiniSH+OK"
stty -echo
set ADDRESS "[lrange $argv 0 0]"
puts "\n*** Halting the terminal $ADDRESS ***\n"
spawn ssh remote-poweroff@$ADDRESS
puts "*** Waitimg for 'assword' ..."
expect {
"assword" {puts "*** Sending password ***" ; send "$PASSWORD\n" }
timeout {puts "*** Timeout ..." ; exp_continue}
}
send_user "*** Waiting for terminal halt ... ***"
expect {
"system" {}
"reboot" {}
"halt" {}
fail {puts "\n*** SSH connect broken ***\n"}
timeout {puts "*** Timeout ..." ; exp_continue}
}
puts "\n*** OK ***\n"
И есть два скрипта /usr/bin/rpoweroff и /usr/bin/rreboot
Почти всё позаимствовано у скрипта display2menu Миши Шигорина дабы
определить адрес x-терминала для выключения.
[vitich@vitich poweroff]$ cat rpoweroff
#!/bin/bash
debug() {
[ -n "$DEBUG" ] && echo "$*" >&2
}
LC_MESSAGES=C
RESOLVE=/usr/bin/resolve
get_ip() {
[ -x "$RESOLVE" ] && {
IP="`resolve -s $HOST 2>/dev/null`"
[ -z "$IP" ] && {
debug "Can't resolve $HOST, using as is"
IP="$HOST"
}
echo $IP
} || {
debug "No $RESOLVE executable!"
}
}
[ -z "$DISPLAY" ] && {
debug "No DISPLAY defined!"
exit
}
HOST=${DISPLAY%%:*}
DISP=${DISPLAY##*:}
case "$HOST" in
# I know it's a shell pattern... so 80% solution
[0-9]*.[0-9]*.[0-9]*.[0-9]*)
IP="$HOST"
debug "X-terminal; IP: $IP"
;;
[a-zA-Z]*)
IP="`get_ip $HOST`"
debug "X-terminal; host: $IP"
;;
*)
HOST="`hostname 2>/dev/null`"
IP="`get_ip $HOST`"
debug "Local display; $HOST"
esac
ssh_poweroff.expect $IP
Второй скрипт аналогичный.
Так вот если запускать из-под рядового пользователя из xterm - работает.
Прописал в ~/.icewm/preferences и /etc/X11/icewm/preferences
RebootCommand="rreboot"
ShutdownCommand="rpoweroff"
С /usr/bin тоже пробовал прописывать, хотя смысл? В консоли работает и без пути
Скрипт на expect не мой, я не программер :)
Может есть более правильное решение по управлению x-терминалом, но
стандартно при попытке перезагрузить или выключить комп с терминала он
просто секунд 10-20 висит, потом перезапускает gdm. А надо тушить.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Вопрос по IceWM
2007-09-11 6:31 ` Евгений Терешков
2007-09-11 8:08 ` Victor Zhuravlyov
@ 2007-09-11 8:10 ` Victor Zhuravlyov
2007-09-11 12:35 ` Евгений Терешков
1 sibling, 1 reply; 6+ messages in thread
From: Victor Zhuravlyov @ 2007-09-11 8:10 UTC (permalink / raw)
To: ALT Linux Community general discussions
Не дописал.
При попытке выключить из меню с переделанным preferences ничего не происходит.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Вопрос по IceWM
2007-09-11 8:10 ` Victor Zhuravlyov
@ 2007-09-11 12:35 ` Евгений Терешков
0 siblings, 0 replies; 6+ messages in thread
From: Евгений Терешков @ 2007-09-11 12:35 UTC (permalink / raw)
To: vitich; +Cc: ALT Linux Community general discussions
"Victor Zhuravlyov" пишет:
> Не дописал.
> При попытке выключить из меню с переделанным preferences ничего не происходит.
Всё очень просто: надо отладить. Всё, что нужно от IceWM, уже упомянуто.
P.S.: может, с тем же Майком на эту тему стойт пообщаться?
--
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Comm] Вопрос по IceWM
2007-09-11 8:08 ` Victor Zhuravlyov
@ 2007-09-17 13:16 ` Michael Shigorin
0 siblings, 0 replies; 6+ messages in thread
From: Michael Shigorin @ 2007-09-17 13:16 UTC (permalink / raw)
To: ALT Linux Community general discussions; +Cc: Serge Ryabchun
On Tue, Sep 11, 2007 at 11:08:16AM +0300, Victor Zhuravlyov wrote:
> Рассказываю по порядку. Сначала создаются два пользователя
> remote-powerdown remote-reboot с соответствующим шеллом )
Хренассе...
> Есть скрипт использующий expect:
> И есть два скрипта /usr/bin/rpoweroff и /usr/bin/rreboot
[skip]
> Почти всё позаимствовано у скрипта display2menu Миши Шигорина
> дабы определить адрес x-терминала для выключения.
Да, я его собирался ещё немного обобщить и забросить что-то
в сизиф -- так и не добрался...
> Скрипт на expect не мой, я не программер :)
Disclaimer: и не мой.
> Может есть более правильное решение по управлению x-терминалом,
> но стандартно при попытке перезагрузить или выключить комп с
> терминала он просто секунд 10-20 висит, потом перезапускает
> gdm. А надо тушить.
Даю копию sr@, поскольку сейчас что-нить для выключения терминала
тоже не помешает (уже с LTSP5), а более-менее штатных вариантов
скорее не видно.
В том случае, наверное, это был бы псевдопользователь с правом
сделать sudo poweroff без пароля и публичным ключиком, по
приватному от которого и осуществляется доступ с
терминал-сервера.
Поскольку терминалы "тупые", вообще-то их можно просто выключать.
On Tue, Sep 11, 2007 at 08:35:55PM +0800, Евгений Терешков wrote:
> > Не дописал. При попытке выключить из меню с переделанным
> > preferences ничего не происходит.
> Всё очень просто: надо отладить. Всё, что нужно от IceWM, уже упомянуто.
> P.S.: может, с тем же Майком на эту тему стойт пообщаться?
Я было сперва не прочитал про терминал и удивился, почему бы
просто не нарисовать /etc/sudoers нужного вида с беспарольным
reboot/poweroff (или не прикрутить -usermode).
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-09-17 13:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-10 14:36 [Comm] Вопрос по IceWM Victor Zhuravlyov
2007-09-11 6:31 ` Евгений Терешков
2007-09-11 8:08 ` Victor Zhuravlyov
2007-09-17 13:16 ` Michael Shigorin
2007-09-11 8:10 ` Victor Zhuravlyov
2007-09-11 12:35 ` Евгений Терешков
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git