Wie veranlasse ich die Bash dazu nach dem Befehl logout den Bildschirm zu löschen? Ich möchte nicht das jeder, der sich neu anmelden will, sieht was ich zuletzt gemacht hab.
Gruß Tino
Hi Tino,
On Mon, Jun 16, 2003 at 10:23:20 +0200, Tino Schmidt wrote:
Wie veranlasse ich die Bash dazu nach dem Befehl logout den Bildschirm zu löschen? Ich möchte nicht das jeder, der sich neu anmelden will, sieht was ich zuletzt gemacht hab.
echo clear > ~/.bash_logout
Zusaetzlich solltest Du mit [ALT]+[Fx] auf eine andere virtuelle Konsole schalten, nachdem Du Dich ausgegloggt hast. So wird das Zurueckblaettern der Konsole mit [SHIFT]+[PGUP] verhindert.
bye, Chris
On 16.06.03 Christian Perle (perle@itm.tu-clausthal.de) wrote:
Hi,
Zusaetzlich solltest Du mit [ALT]+[Fx] auf eine andere virtuelle Konsole schalten, nachdem Du Dich ausgegloggt hast. So wird das Zurueckblaettern der Konsole mit [SHIFT]+[PGUP] verhindert.
#!/bin/bash
if [ -z "`tty|grep tty`" ]; then exit 0; fi
TTY=`tty|tail -c2` if [ $TTY = "1" ]; then chvt 2; chvt $TTY; else chvt 1 chvt $TTY fi
chvt gehört zu console-tools.
H.
Hi Hilmar,
On Mon, Jun 16, 2003 at 10:58:35 +0200, Hilmar Preusse wrote:
if [ $TTY = "1" ]; then chvt 2; chvt $TTY; else chvt 1 chvt $TTY fi
chvt gehört zu console-tools.
Ja, aber normale User duerfen mit chvt keinen Konsolen-Switch durchfuehren. Es nuetzt also nix, wenns in der .bash_logout steht (ausser in der von root).
bye, Chris
On 16.06.03 Christian Perle (perle@itm.tu-clausthal.de) wrote:
Moin,
Ja, aber normale User duerfen mit chvt keinen Konsolen-Switch durchfuehren. Es nuetzt also nix, wenns in der .bash_logout steht (ausser in der von root).
<erstaunt-mode> Also bei mir geht das! Nein chvt ist nicht suid und die Consolen gehören nach dem Einloggen dem User und Gruppe tty. Ein freies Terminal gehört root:root und ich komme mit chvt auf jedes beliebige Terminal. Ist das jetzt ein Bug? Debian 3.0r0. </erstaunt-mode>
H.
Hilmar Preusse hille42@web.de wrote:
On 16.06.03 Christian Perle (perle@itm.tu-clausthal.de) wrote:
Moin,
Ja, aber normale User duerfen mit chvt keinen Konsolen-Switch durchfuehren. Es nuetzt also nix, wenns in der .bash_logout steht (ausser in der von root).
<erstaunt-mode> Also bei mir geht das! Nein chvt ist nicht suid und die Consolen gehören nach dem Einloggen dem User und Gruppe tty. Ein freies Terminal gehört root:root und ich komme mit chvt auf jedes beliebige Terminal. Ist das jetzt ein Bug? Debian 3.0r0. </erstaunt-mode>
Ich glaube nicht. Geht bei mir auch. Ich tippe auf ein devfs-Feature. Ohne devfs wäre es auch nicht möglich (oder zumindest unsinnig) wenn jedesmal nach dem Einloggen der Besitzer von /dev/vc/X geändert würde.
mfg, Fabian
Hi Hilmar,
On Mon, Jun 16, 2003 at 13:59:45 +0200, Hilmar Preusse wrote:
Also bei mir geht das! Nein chvt ist nicht suid und die Consolen gehören nach dem Einloggen dem User und Gruppe tty. Ein freies Terminal gehört root:root und ich komme mit chvt auf jedes beliebige Terminal.
Habs nochmal getestet, es geht doch, wenn man sich schon auf einer Textkonsole befindet.
Nur vom laufenden X-Server kann als User nicht via chvt auf ein anderes VT umschalten:
$ chvt 1 chvt: VT_ACTIVATE: Operation not permitted
(wobei "Operation not permitted" eigentlich keine fehlenden Zugriffsrechte anzeigt, sondern ein fehlendes Feature, vgl. chown auf einem vfat-Dateisystem)
Mit Rootrechten klappt es interessanterweise auch von X aus.
bye, Chris
On Mon, Jun 16, 2003 at 04:37:47PM +0200, Christian Perle wrote:
Hi Hilmar,
Hi Christian,
Nur vom laufenden X-Server kann als User nicht via chvt auf ein anderes VT umschalten:
$ chvt 1 chvt: VT_ACTIVATE: Operation not permitted
(wobei "Operation not permitted" eigentlich keine fehlenden Zugriffsrechte anzeigt, sondern ein fehlendes Feature, vgl. chown auf einem vfat-Dateisystem)
Mit Rootrechten klappt es interessanterweise auch von X aus.
Das liegt sicher daran, das wenn du vom X-Server aus auf eine Console umschaltest, du ja dem X-Server eine Resource wegschnappst. Da der X-Server ja als root läuft, kann auch nur root sich diese Resource klauen... Auf der Console ist das kein Problem, da dir die Session dort ja gehört. /me der keine Ahnung hat was diese Resource sein könnte
Ciao, Tobias
Hallo Tobias,
Am 16. Juni 2003 schrieb Tobias Koenig:
Das liegt sicher daran, das wenn du vom X-Server aus auf eine Console umschaltest, du ja dem X-Server eine Resource wegschnappst. Da der X-Server ja als root läuft, kann auch nur root sich diese Resource klauen... Auf der Console ist das kein Problem, da dir die Session dort ja gehört. /me der keine Ahnung hat was diese Resource sein könnte
lesen bildet - siehe /usr/src/kernel-source-2.4.20/drivers/char/vt.c Zeile 441:
/* * To have permissions to do most of the vt ioctls, we either have * to be the owner of the tty, or super-user. */
Torsten
On 16.06.03 Christian Perle (perle@itm.tu-clausthal.de) wrote:
Hi,
Nur vom laufenden X-Server kann als User nicht via chvt auf ein anderes VT umschalten:
$ chvt 1 chvt: VT_ACTIVATE: Operation not permitted
(wobei "Operation not permitted" eigentlich keine fehlenden Zugriffsrechte anzeigt, sondern ein fehlendes Feature, vgl. chown auf einem vfat-Dateisystem)
Sicher?
Mit Rootrechten klappt es interessanterweise auch von X aus.
Ja, deswegen ist ja auch die erste Zeile drin
if [ -z "`tty|grep tty`" ]; then exit 0; fi
damit er auch nach einem "su -" im xterm beim Logout nicht auf die Konsole umschaltet (ich hab das Skript in der .bash_logout zu stehen).
H.
Tino Schmidt wrote:
Wie veranlasse ich die Bash dazu nach dem Befehl logout den Bildschirm zu löschen? Ich möchte nicht das jeder, der sich neu anmelden will, sieht was ich zuletzt gemacht hab.
wenn du root bist kannst du das wahrscheinlich in /etc/inittab einstellen. Auf einer SuSE sieht das so aus: 1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2
Die erste Konsole bleibt stehen, die 2. (und alle weiteren) werden beim Logout gelöscht. Das Zurückblättern-Problem mußt Du aber trotzdem noch lösen.
Rico
Hi Rico,
On Mon, Jun 16, 2003 at 12:13:53 +0200, Rico Koerner wrote:
wenn du root bist kannst du das wahrscheinlich in /etc/inittab einstellen. Auf einer SuSE sieht das so aus: 1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2
AFAIK laeuft dort aber Debian, welches kein mingetty benutzt, sondern getty, was eigentlich der Standard ist. SuSE macht einfach zuviel eigenen Kram...
bye, Chris
Hallo!
Am 2003-06-16 13:55 +0200 schrieb Christian Perle:
Hi Rico,
On Mon, Jun 16, 2003 at 12:13:53 +0200, Rico Koerner wrote:
wenn du root bist kannst du das wahrscheinlich in /etc/inittab einstellen. Auf einer SuSE sieht das so aus: 1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2
AFAIK laeuft dort aber Debian, welches kein mingetty benutzt, sondern getty, was eigentlich der Standard ist. SuSE macht einfach zuviel eigenen Kram...
Ich benutze auch Debian und mingetty gibts auch als Paket. Das einzige, was man machen muss, ist in der inittab alle mgettys durch mingettys zu ersetzen und die Baudrate zu löschen. Und schon werden für alle Benutzer und für alle Shells die Konsolen gelöscht.
Kann ich nur empfehlen. Ausserdem gibt es getty's wie Sand am Meer, als Standard würde ich da keins bezeichnen.
Ciao, Pitti
On 16.06.03 Christian Perle (perle@itm.tu-clausthal.de) wrote:
On Mon, Jun 16, 2003 at 12:13:53 +0200, Rico Koerner wrote:
Moin,
wenn du root bist kannst du das wahrscheinlich in /etc/inittab einstellen. Auf einer SuSE sieht das so aus: 1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2
AFAIK laeuft dort aber Debian, welches kein mingetty benutzt, sondern getty, was eigentlich der Standard ist. SuSE macht einfach zuviel eigenen Kram...
Gabs nicht mal bei Debian einen Bug, daß dieses getty eigentlich agetty ist... <gd&r>
H.
Christian Perle wrote: Hi Chris,
Hi Rico,
AFAIK laeuft dort aber Debian, welches kein mingetty benutzt, sondern getty, was eigentlich der Standard ist. SuSE macht einfach zuviel eigenen Kram...
War ja eigentlich auch nur als Denkansatz zu verstehen. Ein anderes *getty hat vielleicht eine äquivalente Option dafür. Mir ging's eher um den Ansatz in der inittab, damit wäre auch das Problem Konsole vs. xterm gelöst.
Aber wie es im Leben eben so ist, führen viele Wege zum Ziel. (Was jetzt aber nicht auf SuSE bezogen ist *g*)
Ciao Rico
On Monday 16 June 2003 10:23, Tino Schmidt wrote:
Wie veranlasse ich die Bash dazu nach dem Befehl logout den Bildschirm zu löschen? Ich möchte nicht das jeder, der sich neu anmelden will, sieht was ich zuletzt gemacht hab.
Die Datei ~/.bash_logout sollte den (bash-internen) Befehl clear enthalten. (./bash_logout gibt es "normalerweise" nicht.) (evtl. in /etc/skel/ verankern)
Bernhard
lug-dd@mailman.schlittermann.de