Autoriser l'utilisation de l'écran sans possibilité de détacher des sessions

Je me request si cela est possible. J'aimerais que les users puissent lancer l'écran sur certains de nos hôtes dans le but de multiplexer leurs sessions de connection au terminal. Cependant, je ne veux pas qu'ils puissent détacher l'écran et le laisser fonctionner en arrière-plan.

La raison en est que la seule façon de se connecter à ces machines est par le biais d'un système de soumission de tâches en grappe, donc si un écran se détache et que l'user obtient la seule façon de le récupérer serait s'il arrivait de returnner sur le même nœud sur leurs prochaines soumissions d'emploi.

5 Solutions collect form web for “Autoriser l'utilisation de l'écran sans possibilité de détacher des sessions”

echo autodetach off >> ~/.screenrc 

Lisez la page de manuel de l'écran pour l'autodéposition. Cela permettra de s'assurer que tout cela tue tout si leur connection est désactivée.

Vous voulez toujours que les autres solutions mentionnées …

Vous pouvez faire un désactivation «douce» du détachement en mettant

 bind d 

dans .screenrc , qui supprime la binding par défaut de ^ AD pour le détachement. Ou peut-être

 bind d echo Don't detach screens, it won't work because of the cluster. 

Faire un désactivation difficile de détachement, y compris les formulaires de command line, prendrait votre propre version d' screen et coderait la capacité. Ce qui, vous savez, peut être fait, c'est un projet open source et tous.

Voici un hack que vous pouvez mettre dans un script bash et exécutez chaque minute avec cron pour tuer des sessions détachées. Pas la solution la plus propre cependant: -P

 screen -S $(screen -ls | grep Detached | awk '{ print $1}') -X kill 

Ils seront toujours en mesure de se déconnecter sans fermer leurs terminaux, à less que vous ne vous tuez automatiquement dans l'écran, bien sûr.

Puisque l'écran de détachement quitte l'user connecté, vous pouvez append au script de connection une vérification pour voir à quel server l'user est déjà connecté. Ce serait plus de travail que de désactiver le détachement, mais serait beaucoup plus utile pour vos users.

Une idée pour le script: iterate à travers les servers, greping outpot of who , puis journalisation de l'user vers le server qui les signale connecté en premier; sinon, connectez-les comme ils le seraient maintenant (pour gérer quand un user se déconnecte proprement).

  • Byobu - Comment se déconnecter de lxc-console
  • Détruire une window morte dans l'écran
  • Plusieurs sessions d'écran avec différentes mises en page: est-ce possible?
  • Ecran GNU: ouverture de chaque tampon d'écran dans un onglet terminal distinct
  • Tuer l'écran d'exécution nommé avec -X ne fonctionne qu'après la reconnection
  • Ouvrez l'écran en arrière-plan et lancez un process
  • Comment get l'écran GNU pour définir dynamicment le titre de gnome-terminal chaque fois que je commute à différentes windows d'une session d'écran?
  • Verrouillez un système linux avec l'écran
  • La reprise de l'écran "détaché" conduit à un écran vide
  • Enrouler la session en cours dans une session d'écran
  • exécutez plusieurs scripts bash avec le code prévu et laissez-les s'exécuter
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.