een X waarschuwing weergeven

Pagina: 1
Acties:
  • 241 views sinds 30-01-2008
  • Reageer

  • Keeper of the Keys
  • Registratie: Augustus 2002
  • Laatst online: 14-01 12:20
//ik heb een beetje gezocht, maar erg effectieve zoektermen wist ik niet...

Ik heb de volgende vraag, is er een manier om een waarschuwing van root weer te geven op alle X sessions.
Ik wil namelijk computers die ik beheer vanuit ssh of cron uitzetten maar wil graag dat de ingelogde gebruikers een minuut van te voren worden gewaarschuwd zodat ze hun werk op kunnen slaan.
De door shutdown -h -t 60 +1 gegenereerde waarschuwing wordt namelijk alleen in terminals weergegeven.
Dus vroeg ik me af of er een terminal-commando is om een waarschuwing weer te geven in X.

Alvast heel erg bedankt.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

http://www.henschelsoft.de/kpopup_en.html
moet volgens mij ook werken in een linux only omgeving ook linpopup zou het moeten doen

Verwijderd

bash$: xmessage "The administrator of this computer is not a guru. This computer will be rebooted while you are working on it. Hopefully you are not on on the toilet or getting coffee right now"

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

wall misschien?
Desc: send a message to everybody's terminal.

Voorbeeld:
# wall testje
#
Broadcast message from root (pts/2) (Fri Mar 25 10:56:47 2005):

testje

[ Voor 50% gewijzigd door Wolfboy op 25-03-2005 10:55 ]

Blog [Stackoverflow] [LinkedIn]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

maar wall werkt ook alleen op de console; als je daar niet bent ingelogd dan krijg je ook die message niet. Daarnaats is het ontvangen van die berichten ook uit te schakelen ;) Ik zou inderdaad voor een xmessage gaan :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Spider.007 schreef op vrijdag 25 maart 2005 @ 10:58:
maar wall werkt ook alleen op de console; als je daar niet bent ingelogd dan krijg je ook die message niet. Daarnaats is het ontvangen van die berichten ook uit te schakelen ;) Ik zou inderdaad voor een xmessage gaan :)
Ah, dat kon ik hier helaas eventjes niet testen.
(X is nog niet gecompileerd op m'n linux werkstation hierzo ;))

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Als je nou zoiets doet:

- Gebruik Zenity, Gdialog of Xdialog om een berichtje naar de gebruiker te sturen
- Na 1 minuut run je gnome-session-save (of de relevante tool voor jouw WM) om de huidig draaiende sessie te saven
- Wacht een seconde of 30~40 om alles goed te laten bezinken
- reboot/halt het systeem

zou er weinig mis moeten gaan :)

  • Keeper of the Keys
  • Registratie: Augustus 2002
  • Laatst online: 14-01 12:20
Verwijderd schreef op vrijdag 25 maart 2005 @ 10:53:
bash$: xmessage "The administrator of this computer is not a guru. This computer will be rebooted while you are working on it. Hopefully you are not on on the toilet or getting coffee right now"
De gebruikers zijn zich er als het goed is van bewust dat het systeem ergens 's nachts uit gaat omdat dat school regels zijn.... (het is mijn oude school).
En maak je maar geen zorgen dat ze er even niet zijn meestal staat er een rij voor de computers...
Hun probleem is alleen dat er niet altijd een verantwoordelijke in de buurt is om de computers uit te schakelen...


Iedereen heel erg bedankt.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

een gnome-session-save doet toch niets meer dan de lijst met applicaties bewaren? Daar heb je niet zoveel aan als de gebruiker net 5 minuten koffie aan het drinken is na urenlang aan een niet opgeslagen document te hebben gewerkt :) Ik zou de gebruiker een half uur de kans geven om uit te loggen; en daarna pas geforceerd afsluiten. Per werkstation kun je ook gewoon rebooten wanneer de user zichzelf heeft uitgelogd :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Spider.007 schreef op vrijdag 25 maart 2005 @ 10:58:
maar wall werkt ook alleen op de console; als je daar niet bent ingelogd dan krijg je ook die message niet. Daarnaats is het ontvangen van die berichten ook uit te schakelen ;) Ik zou inderdaad voor een xmessage gaan :)
Het ontvangen van wall-berichten die root verstuurt is niet uit te schakelen, mesg n weert alleen wall-berichten van andere users (lang niet alle terminals melden zich als login-shell, dus die krijgen uberhaupt geen wall-berichten, ook niet van root dus). Het enige wat "mesg y" of "mesg n" doen zijn een writeable bitje zetten op je pts device (meestal een group-writeable bitje, en wall is dan sgid tty of iets dergelijks), en daar hoeft root zich niks van aan te trekken dus die kan altijd write of wall doen :)

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

blaataaps schreef op vrijdag 25 maart 2005 @ 11:14:
[...]

Het ontvangen van wall-berichten die root verstuurt is niet uit te schakelen, mesg n weert alleen wall-berichten van andere users (lang niet alle terminals melden zich als login-shell, dus die krijgen uberhaupt geen wall-berichten, ook niet van root dus). Het enige wat "mesg y" of "mesg n" doen zijn een writeable bitje zetten op je pts device (meestal een group-writeable bitje, en wall is dan sgid tty of iets dergelijks), en daar hoeft root zich niks van aan te trekken dus die kan altijd write of wall doen :)
Dat klopt natuurlijk; had ik me even niet gerealiseerd :) Evenwel zullen mensen dit bericht niet zien tenzij hun WM deze berichten op een-of-andere manier doorstuurt; wat volgens mij standaard bij geen enkele WM gebeurt?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Spider.007 schreef op vrijdag 25 maart 2005 @ 11:25:
[...]

Dat klopt natuurlijk; had ik me even niet gerealiseerd :) Evenwel zullen mensen dit bericht niet zien tenzij hun WM deze berichten op een-of-andere manier doorstuurt; wat volgens mij standaard bij geen enkele WM gebeurt?
De windowmanager doet het inderdaad niet, maar de terminal emulator (xterm, aterm, rxvt etcetera) kan ervoor kiezen een entry in utmp/wtmp te maken. Als ze dit doen (dan verschijnen al je terminals in de output van w en who enzo), zullen ze gewoon een berichtje van wall krijgen als het moment daar is. Lang niet alle terminals doen dit (en vaak is het een configuratie-optie volgens mij), en dan zie je dus niks van een wall :)

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Spider.007 schreef op vrijdag 25 maart 2005 @ 10:58:
maar wall werkt ook alleen op de console; als je daar niet bent ingelogd dan krijg je ook die message niet. Daarnaats is het ontvangen van die berichten ook uit te schakelen ;) Ik zou inderdaad voor een xmessage gaan :)
Ik heb het nog eventjes getest en ik krijg netjes een bericht van kwrited hoor :P
Maar dat is dan in het geval van KDE, dat zal bij Gnome en andere window managers anders zijn.

Blog [Stackoverflow] [LinkedIn]


  • Keeper of the Keys
  • Registratie: Augustus 2002
  • Laatst online: 14-01 12:20
Ik heb het geprobeerd, maar het lijkt niet echt te werken, idt is de inhoud van /etc/crontab:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6    * * 7   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6    1 * *   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
15 0    * * *   root    xmessage 'This system will shutdown in 15 minutes!' -timeout 60
20 0    * * *   root    xmessage 'This system will shutdown in 10 minutes!' -timeout 60
25 0    * * *   root    xmessage 'This system will shutdown in 5 minutes!' -timeout 60
29 0    * * *   root    xmessage 'This system will start shutting down in 1 minute!' -timeout 30
30 0    * * *   root    xmessage 'This system will start shutting down NOW!' -timeout 3
30 0    * * *   root    shutdown -h now
#


Dit is een Debian systeem, waar zit mijn fout?
Volgens pstree draait cron, maar de systemen schakelen niet uit en geven ook geen waarschuwing weer.

Alvast bedankt.

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 25-12-2025

Akerboom

Codito, ergo sum

kijk eens in je mail van root, daar vind je de output van de commands

  • Keeper of the Keys
  • Registratie: Augustus 2002
  • Laatst online: 14-01 12:20
Hmm, het mail commando werkt niet meer, kan dat liggen aan het feit dat ik de MTA/mailserver (exim4 etc) uit debian heb gesloopt?

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Als je geen vervangende MTA hebt dan zal je mail waarschijnlijk niet aankomen nee.
Aangezien de cron-jobs er gewoon goed uitzien lijkt mij het meest voor de hand liggend dat cron niet draait of dat die gegevens niet in je crontab staan.

Ik zou sowieso eventjes "crontab -e" proberen om te kijken of het wel echt netjes in je crontab staat, niet elke cron-daemon slaat het in /etc/crontab op namelijk.

Blog [Stackoverflow] [LinkedIn]


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 31-01 14:44

Valium

- rustig maar -

xmessage heeft een environment variable nodig waarin staat welk X-display hij moet gebruiken. Die variabele heet "DISPLAY". Als deze variabele niet gedefinieerd is, werkt xmessage niet. (Meldt je maar eens aan op VT1 (CTRL-ALT-F1) en probeer dan iets met xmessage.
Als je een normaal debian werkstation hebt geïnstalleerd, zal "DISPLAY=:0" de juiste instelling zijn.

Een workaround hiervoor is het gebruiken van een scriptje.
code:
1
2
3
#!/bin/bash
export DISPLAY=:0
xmessage $@

en dat dan opslaan als /usr/local/bin/myxmessage. Dan werkt het zoals je verwacht.
edit:
Ik zie dat de systemen ook niet uitgaan uit zichzelf...dat is wel vreemd. Misschien helpt het invoeren van het volledige pad. (/sbin/shutdown)

Als je d'r niet uitkomt is het gebruiken van een MTA zodat je de foutmeldingen te zien krijgt wel essentieel. Misschien kun je cron ook configgen zodat 'ie eventuele problemen in het syslog zet. Dan hoef je geen MTA te hebben.

[ Voor 27% gewijzigd door Valium op 28-03-2005 04:28 ]


  • Keeper of the Keys
  • Registratie: Augustus 2002
  • Laatst online: 14-01 12:20
xmessage werkt alleen maar als je het draait als de gebruiker die op dat moment op de X server is ingelogd (in elk geval zo lijkt het).
Voor andere gebruikers werd de verbinding met de X-server gewijgerd, dat is geloof ik een questie van setup wie je wel en niet toestaat te verbinden? (bij mij mag root bvb niet in X inloggen, een debian default setting).
Ik heb de crontab nu aangepast en hopelijk werkt het nu, ik merk het vanacht wel...

edit:

Shutdown werkte nu prima met het volle pad, ik was trouwens steeds aan het rondklooien met export DISPLAY=localhost:0 maar dat was dus fout, heel erg bedankt.

[ Voor 17% gewijzigd door Keeper of the Keys op 29-03-2005 01:17 ]

Pagina: 1