Forum Astuces.divers [Terminal] se déloguer rapide

Posté par  .
Étiquettes : aucune
0
12
nov.
2001
Je viens de m'apercevoir que je me délogue depuis
plus de 5 ans avec un sage "logout", alors qu'un
simple [Ctrl-D] suffit !
Une autre solution est de créer un alias ds son
~/.mon_shell_préféré_rc.
Une dernière est un script avec un nom + court.
On peut aussi ne *jamais* se déloguer; oui mais non.
Testé seulement sous Debian/Woody, mais c'est du
Linux, je pense.
  • # CTRL-D == EOF

    Posté par  . Évalué à 2.

    Ctrl-D représente une fin de fichier (EOF). Quand le shell reçoit un
    EOF il se termine parce qu'il interprète ça comme la fermeture du
    canal d'entrée.

    On peut modifier ce comportement en changean la variable IGNOREEOF
    (valable pour bash et sh).

    Dernier détail. Quand le bash se termine, il execute les commandes
    contenues dans .bash_logout.

    Si mes souvenirs sont bons, pour csh c'est .logout
    • [^] # Re: CTRL-D == EOF

      Posté par  . Évalué à 1.

      Juste.
      Contrairement à ce qui est dit plus bas, ^D (EOF) n'est pas spécifique au shell. Par contre le shell peut définir la séquence de caractère qui représente EOF.

      EOF (ou ^D pour la grande majorité des cas) peut être utilisé partout où un proces est attaché à un terminal.
      Exemple :
      $ cat
      coucou
      coucou
      ^D
      $

      Un meilleur exemple
      $ mail -s "message stupide" f.matias@one
      coucou
      ^D
      cc:^D
      $

      Pour la lancer un programme à 2 heure du matin
      $ at 02:00
      wget ftp://..../...iso(...)
      ^D
      $
      • [^] # Re: CTRL-D == EOF

        Posté par  . Évalué à 1.

        Il y a aussi une méthode qui permet de laisser le systeme vierge de vos processus persos, en se délogguant au moyen d'un kill -9 -1 des familles. Ca a aussi l'avantage de killer de multiples fenetres et X si on est sous X.
        • [^] # Re: CTRL-D == EOF

          Posté par  . Évalué à 1.

          Tu ne crois pas que c'est un peu brutal ton histoire ? En l'occrurrence tu ne laisses aucune chance à tes processes de terminer correctement. Bonjour les incohérences dans les logs et autres fichiers ouverts en écriture. Je pense qu'un kill -15 -1 en premier lieu est de meilleure pratique.

          Par contre, je t'accorde que lorsque tes processes font n'importe quoi et qu'il y a urgence, le kill -9 -1 est utile.

          Et puis, tiens, tant que j'y pense : t'as essayé de faire ça en tant que root ? (je sais, on ne devrait quasiment jamais être root, mais essayez, ça risque d'être drôle) ;)

          A+

          Franck
        • [^] # Re: CTRL-D == EOF

          Posté par  (site web personnel) . Évalué à 1.

          la vache le génocide !
    • [^] # Re: CTRL-D == EOF

      Posté par  (site web personnel) . Évalué à 1.

      Ctrl+D c'est pas plutôt EOT (End Of Transmission), qui signifie la fin d'un flux (stream) et non EOF (qui est une fin de fichier) ?
  • # pas partout

    Posté par  . Évalué à 2.

    Tous les shells ne supportent pas ctrl-d !
    c'est par exemple le cas avec tcsh.
    • [^] # Re: pas partout

      Posté par  . Évalué à 2.

      euh, mon tcsh marche tres bien avec ctrl-d, encore heureux ! :)
      verifie ton bindkey si ca marche pas chez toi...
    • [^] # Re: pas partout

      Posté par  . Évalué à 1.

      Je ne sait pas ou tu as vu ca mais Ctrl-D est un EOF et ce independemment du shell (du moins si le shell est POSIX y a pas de pb) le tcsh support tres bien le ^D comme ertant un EOF et avec sa conf de base le comprends comme un logout. Petite note en passant : "Testé seulement sous Debian/Woody, mais c'est du Linux, je pense." non ce n'est pas QUE du linux mais du unix et au dela de ca c'est supporte par n'importe quele platefornme ayant un shell fortement base sur la specif POSIX (ex. BeOS). Ile ne faut pas oublier que Linux n'est rien d'autre qu'un bete UNIX qui se differencie des autres par son "support" par une communautee tres importante.
      • [^] # Re: pas partout

        Posté par  . Évalué à 1.

        bein moi je comprend pas ca ne marche pas avec le shell de windows ;)
        • [^] # Re: pas partout

          Posté par  (site web personnel) . Évalué à 1.

          Alors, utilise exit : ça marche avec les shells DOS (command.com), Windows (cmd.exe), Unix/GNU/POSIX (testé sous csh et ksh). C'est pas plus court que ^D, mais c'est déjà mieux que logout.

          Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt

        • [^] # Re: pas partout

          Posté par  (site web personnel) . Évalué à 1.

          je te conseille de taper sur le petit bouton sur la facade de ton UC... nan pas ceux des CD-ROMs... celui de la tour ! ;c)
        • [^] # Re: pas partout

          Posté par  . Évalué à 1.

          Fin de fichier, c'est CTRL+Z sous Windows. Cela dit ça ne fermera pas la ligne de commande. Utilise ALT+F4.
          (réponse sérieuse à remarque pas sérieuse)
    • [^] # Re: pas partout

      Posté par  . Évalué à 1.

      Vérifie si tu n'as pas un 'set ignoreeof' qui traine dans ton ~/.cshrc et commente le. Sinon tu peux toujours y mettre un 'unset ignoreeof'...
  • # un effort dans la rédaction, s'il-vous-plait.

    Posté par  . Évalué à 1.

    Merci d'éviter les abréviations.

    « mais c'est du Linux, je pense » : cette astuce n'a AUCUN rapport avec le noyau linux.
  • # Selon les distributions...

    Posté par  . Évalué à 1.

    C'est effectivement bien une propriété du shell, modifiable avec la variable IGNOREEOF par exemple (lire le très bon premier commentaire).

    A noter que certaines distributions invalident cette propriété par défaut. C'est le cas de la Slackware (au moins jusqu'a la 8.0 je crois) pour laquelle l'utilisation de Ctrl+D retourne un joli message comme quoi il faut utiliser logout pour se déconnecter. Il est vrai que c'est parfois embêtant de se déconnecter régulièrement parce qu'on a rippé sur le Ctrl+D :)
  • # ya une autre metode

    Posté par  . Évalué à 1.

    "logout" c'est long "Ctrl-D" ne fonctionne pas toujours mais il y a "exit" pas trop long et ca marhe ;)
    • [^] # Re: ya une autre metode

      Posté par  . Évalué à 1.

      Ah oui mais non: exit appelle logout, et prend beaucoup plus de temps (part contre je ne sais absolument pas pourquoi). C'est d'ailleurs pour ça que je suis passé de exit à logout: j'attends toujours d'être sûr que mon shell a fermé avant de changer de console, et je suis pas patient. :)

      Sinon j'ai une mega astuce: logo + [TAB] c'est presque aussi court que exit! ;)
      • [^] # Re: ya une autre metode

        Posté par  . Évalué à 1.

        exit prend du temps ?

        Bizarre. J'utilise tout le temps exit, et c'est toujours immédiat, y compris avec des shells distant, y compris avec des antiquités.
  • # Re: se déloguer rapide

    Posté par  . Évalué à 1.

    [ctrl-D] fonctionne sur tous les Unix même propriétaires. Je le fais tout le temps sur des Unixware et des Aix : ça date pas d'hier!
    • [^] # Re: se déloguer rapide

      Posté par  . Évalué à 1.

      oui, c'était sous AIX 3.1 avec csh entre autre - et parfois bien chiant.
  • # Re: se déloguer rapide

    Posté par  (site web personnel) . Évalué à 2.

    Sous zsh il faut faire un setopt "setopt ignoreeof" pour le desactiver. (juste pour info..)
  • # Re: se déloguer rapide

    Posté par  (site web personnel) . Évalué à -1.

    hummm... et sur mon z80 je fait comment???

    lol

    Johan
  • # Re: se déloguer rapide

    Posté par  (site web personnel) . Évalué à 1.

    Sous X un petit Ctrl + Alt + Backspace est tres pratique pour se délogger.
    • [^] # Re: se déloguer rapide

      Posté par  . Évalué à 1.

      euh c'est pas un peu brutale comme methode de logout sous X , j'en veux pour temoin, les erreurs que t'affiche le serveur X en mode console, aprés avoir fait ce genre de manip.

      arretez moi si je me trompe, mais il est bien possible de définir une combinaison de touche clavier qui ferais un "vrai" logout sous X, ce qui serait plus "propre" (j'eu sus faire sous gnome à une époque, mais j'sais plus trop ou :( , j'ai la mémoire qui flanche, j'me souviens plus trés bien ..... ;) )

      rsystem
      qui attend désespéerement le trés attendus et trés prometeur E17 ,à force je vais croire que c'est du vaporware :(
      • [^] # Re: se déloguer rapide

        Posté par  . Évalué à 2.

        Il n'y a pas de méthode simple pour sortir de X rapidement et proprement. X quitte lorsque le script ~/.xinitrc ou /etc/X11/xinitrc est terminé (en gros lorsque que le wm-session - ex : gnome-session, kde-session - quitte) lorsque tu utilises startx, ou l'équivalent du xinitrc de ton display manager favori (xdm, gdm, kdm voir entrace pour toi :) ).

        Donc pour quitter ta session X il faut tuer le programme qui "bloque" ton script de session, et donc terminer le script. Mais comme X se termine, cela revient au même que le ctrl-alt-del.

        PS : ca me donne une petite idée : il a y a peut être moyen que le session manager capte le signal TERM et le renvoie à toutes les applis X ouvertes de la session, attendre qu'elles se termine proprement et quitter. Ce serait un belle solution, mais je ne sais pas comment ca se passe aujourd'hui.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.