Heh, próbuję zrobić to samo co autor tematu, tj. tak ustawić, żeby naciskając guzik QSS w TP Linku 1043ND v1 można byłoby włączać i wyłączać starszawego lapka, który robi za komp stacjonarny i trafiam na ścianę.
Na laptopie jest zainstalowany Debian, na ruterze Gargoyle PL 1.9.0.3 (5ed8c40) [Chaos Calmer].
Na ruterze skonfigurowane jest bezhasłowe logowanie po SSH do laptopa.
Napisałem skrypt (a właściwie kilka :> ) żeby to zautomatyzować i uruchamiane z palca na ruterze działają, tj. gdy laptop jest załączony, to go wyłącza, a gdy jest wyłączony, to (zazwyczaj - cholerne wol na linuxie) załącza. Niestety, gdy podepnę ten skrypt pod system.wps_button.handler, to nie działa poprawnie.
Wyłączanie wygląda tak, że jeżeli laptop odpinguje, to skrypt łączy się przez ssh i odpala komendę sudo shutdown -h now. Skrypt uruchamiany z palca działa poprawnie, natomiast uruchamiany z przycisku dawał taki output:
Host '192.168.2.214' is not in the trusted hosts file.
(ssh-rsa fingerprint md5 04:be:02:71:fb:0d:7d:51:16:b4:b4:7a:dd:4f:7f:8d)
Do you want to continue connecting? (y/n)
/usr/bin/ssh: Connection to dummy@192.168.2.214:1988 exited: Didn't validate host key
Zacząłem drążyć ten problem i myślę, że prawdopodobnie gdy skrypt jest odpalany przez przycisk, to inne są wtedy zmienne środowiskowe. Przy odpalaniu z palca:
# env
SSH_CLIENT=192.168.2.214 59753 22
USER=root
SHLVL=1
OLDPWD=/tmp
HOME=/root
SSH_TTY=/dev/pts/2
PS1=\[\033[01;32m\]\u@\h:\w\$\[\033[00m\]
LOGNAME=root
TERM=xterm
PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/ash
PWD=/usr/bin
SSH_CONNECTION=192.168.2.214 59753 192.168.2.1 22
HISTFILE=/tmp/.history
natomiast przy odpalaniu przez przycisk:
ACTION=released
SHLVL=5
HOME=/
SEQNUM=751
BUTTON=wps
TERM=linux
SUBSYSTEM=button
board=TL-WR1043ND
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SEEN=0
PWD=/
podejrzewam, że brak zmiennej USER może tu najbardziej bruździć. Co z tym fantem można począć?