Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: karlitos 18 Prosince 2010, 11:29:03
-
Znate to pritelkyne se vali v posteli s notebookem, na hlave sluchatka nevnima, neslysi. Klasicky paradox - rikat nekmu aby si sundal sluchatka aby vas slysel, protoze ma na hlave sluchatka a neslysi vas ... Hazeni veci veci po dotycne osobe muze nejen vest k rozpadu vztah ale co horsiho : poskodit drahocenou vypocetni techniku :o
Takze jsem hledal neco co by na vzdalenem pocitaci zobrazilo zpravu : "Sundej si ty +#*½¬### sluchatka !!!" no a reseni jsem nasel zde (http://www.linuxjournal.com/content/tech-tip-get-notifications-your-scripts-notify-send)
Ve zkratce : na cilovem pocitaci musi bezet ssh server a notify-osd demon. Oboji se nainstaluje pomoci :
sudo apt-get install libnotify-bin libnotify1 openssh-server
Po restartu zkuste poclat zpravu na vas pocitac pomoci :
ssh -X uzivatelskejmeno@localhost DISPLAY=:0.0 'notify-send "Sundej si ty +#*½¬### sluchatka !!!" '
a melo by vam to ukazat zpravu na vasem pocitaci.
Pro vzdaleny pocitac nahradit localhost IP adresou nebo hostname ciloveho pocitace.
Musite zadat uzivatelske heslo a pak se prikaz odesle. Funguje to krasne se vsim co notify-send umi, lze zadat titulek zpravy a pridat ikonku. Zkusim to jeste vypilovat a pridat sem par tipu.
Tady je skript ktery to cele zjednodusuje :
#!/bin/bash
#
#Send messages through SSH to remote hosts' notify-osd
#
message="$@"
ssh -X user@host "DISPLAY=:0 notify-send \"$message\""
exit
Jeste potrebuju vykoumat jak udelat promene user a host
-
Tak jsem pokrocil se skriptem, ale jeste to neni ono :
#!/bin/bash
#
#Send messages through SSH to remote hosts' notify-osd
#
user="$1"
host="$2"
message="$3"
ssh -X $user@$host "DISPLAY=:0 notify-send -i /usr/share/icons/Breathe/32x32/status/gtk-dialog-warning.png \"! C A U T I O N !\" \"$message\""
exit
Funguje to jen pro jedno slovo, problem je v te promene message="$3" ale to nejak vykoumam
Misto /usr/share/icons/Breathe/32x32/status/gtk-dialog-warning.png lze dosadit cestu k jakekoliv jine ikone a misto ! C A U T I O N ! zadat jiny nadpis
-
Diky pomoci Filipa Dominece tu mame hotovou a funkcni verzi skriptu :
#!/bin/bash
#
#Send messages through SSH to remote hosts' notify-osd
#
user="$1"
host="$2"
shift
shift
message="$@"
ssh -X $user@$host "DISPLAY=:0 notify-send -i /usr/share/icons/Breathe/32x32/status/gtk-dialog-warning.png \"! C A U T I O N !\" \"$message\""
exit
Jako host lze uvest IP adresu ciloveho stroje ale i hostname, funguje oboji. Popsane resnei splnuje vetsinu pozadavku ktere jsem mel, jeste by to chtelo aby pocitac vydal hlasity zvuk, obrazovka zacala cervene blikat nebo probijet klavesnice. ;D Hrozi ovsem vyse popsane riziko rozpadu vztahu a poniceni drahocene techniky osobou kterou chcete upozornit. ;D ;D
-
Já bych jen upřesnil:
- libnotify1 je závislost libnotify-bin, není třeba instalovat zvlášť.
- Notify OSD démon již na Ubuntu běží od instalace systému, libnotify-bin jen obsahuje nástroj, kterým lze notifikace posílat z shellu a není vázán na Notify OSD - využívá standardní notifikační systém, bude fungovat i s klasickým Gnome.
- notify-send toho umí podstatně víc, než je schopen pobrat Notify OSD - nejde ani nastavit čas zobrazení, pokud nepoužiješ neoficiální fork (http://forum.ubuntu.cz/index.php/topic,47407.0.html).
- po instalaci není nutné nic restartovat (natož celý počítač), openssh-server se spustí hned po instalaci
- přepínač -X je zbytečný
- myslím, že v případě KDE se dá místo notify-send použít kdialog.
Nakonec jí můžeš klidně poslat povel i do sluchátek, ať už syntetizovaný, nebo vlastní, co kdyby se zrovna nedívala ;)
Mimochodem, shiftování je fajn věc, ale jinak se to dělá tak, že se dá řetězec do uvozovek ;)
-
Diky za upresneni, ja mel vanoce v predstihu ze jsem to vubec rozchodil. Mozna by to chtelo jeste nejaky rozhrnai ale to nejdriv az v lednu odevzdam diplomku ... vystrizlivim, zmizi ucinky omanych latek ...
Nakonec jí můžeš klidně poslat povel i do sluchátek, ať už syntetizovaný, nebo vlastní, co kdyby se zrovna nedívala
Sem jedno ucho :P
Mimochodem, shiftování je fajn věc, ale jinak se to dělá tak, že se dá řetězec do uvozovek
Nojo ale to zase komplikuje syntaxi. Asi to neni uplne nejhezci reseni s tim shiftovanim ... ale aspon to funguje krasne jednoduse. ctyri tri prikazy a text zadny uvozovky ... keep it simple. Hodil jsem si skript do /usr/bin, mam takovy pocit ze jezisek chysta nejakou G-ckovou klavesnici od Logitechu - modlim se aby slysel spravne a byla to G510 - pak to hodim na jednu z tech extra klaves ;D
-
Syntaxi by to nijak nekomplikovalo, je to zcela normální záležitost, že když předáváš programu jako parametr string, dáš ho do uvozovek. Navíc nezapomeň, že některé znaky mají v shellu speciální význam a pokud je nedáš do uvozovek, ani před ně nedáš escape znaky, budou se dít "podivné" věci. V tomto ohledu je ještě rozdíl mezi jednoduchými (') a dvojitými (") uvozovkami.
No a k tomu zvuku.. Když se přihlásíš přes ssh na vzdálený počítač, máš k dispozici v podstatě vše, co uživatel sedící přímo u něj, tudíž není problém nechat přehrát nějaký zvukový soubor, ať už třeba pomocí aplay, mplayer, cvlc, ... O syntéze řeči je tu na fóru celé vlákno, momentálně cca dva řádky pod tímto.
-
Jojo diky, to sou moc dobre pripominky. To vlakno festival/epos jem zkouknul, ale pro me ucely - ticha domacnost ;) - uplne postaci espeak. Kde se da nastavit i hlasitost, preci jenom kdyby to do tech sluchatek zarvalo na plne ... muze dojit uhony moje malickost prostrednictvim vrzene drahocene techniky ;D
Jeee to bude psina :P , kdybych dlouho nic nepsal na forum tak je to jasny .... poslu pohled ze spitalu.