Je voudrais pouvoir vérifier la progression et la sortie de mes screen
sessions existantes , mais en lecture seule, afin d'éviter que quelque chose ne se passe mal en raison d'une erreur de l'utilisateur. Y a-t-il un moyen de faire cela?
la source
Je voudrais pouvoir vérifier la progression et la sortie de mes screen
sessions existantes , mais en lecture seule, afin d'éviter que quelque chose ne se passe mal en raison d'une erreur de l'utilisateur. Y a-t-il un moyen de faire cela?
Malheureusement, je pense que la réponse est non. Le demandeur de cette question est passé à tmux spécifiquement parce qu'il a cette fonctionnalité (vous passez le -r
drapeau lors de la connexion), donc si vous avez la possibilité de changer de multiplexeur, c'est probablement votre meilleur choix
Tu peux essayer:
aclchg username -w "#"
si vous exécutez screen
en mode multi-utilisateur (mais je n'ai rien eu à faire de spécial pour le faire fonctionner lors du test en tant qu'utilisateur connecté unique). Si vous devez entrer en mode multi-utilisateur, utilisez multiuser on
.
Vous pouvez utiliser *
le nom d'utilisateur pour affecter tous les utilisateurs.
Utiliser +w
au lieu d' -w
activer le mode d'écriture.
De man screen
:
aclchg liste des
noms d'utilisateurs permbits chacl liste des noms d'utilisateurs permbitsModifiez les autorisations pour une liste d'utilisateurs séparés par des virgules. Les bits d'autorisation sont représentés par «r», «w» et «x». Le préfixe «+» accorde l'autorisation, «-» la supprime. Le troisième paramètre est une liste de commandes et / ou fenêtres séparées par des virgules (spécifiées soit par un numéro, soit par un titre). La liste spéciale '#' fait référence à toutes les fenêtres, '?' à toutes les commandes. si les noms d'utilisateur se composent d'un seul '*', tous les utilisateurs connus sont affectés. Une commande peut être exécutée lorsque l'utilisateur a le bit 'x' pour cela. L'utilisateur peut saisir une entrée dans une fenêtre lorsqu'il a son bit «w» défini et aucun autre utilisateur n'obtient un verrou en écriture pour cette fenêtre. Les autres bits sont actuellement ignorés. Pour retirer le writelock d'un autre utilisateur dans la fenêtre 2: 'aclchg username -w + w 2'. Pour autoriser l'accès en lecture seule à la session: 'aclchg username -w "#"'. Dès que le nom d'un utilisateur est connu à l'écran, il peut se joindre à la session et (par défaut) dispose de toutes les autorisations pour toutes les commandes et fenêtres. L'autorisation d'exécution pour les commandes acl, «at» et autres doit également être supprimée ou l'utilisateur peut être en mesure de regagner l'autorisation d'écriture. Les droits du nom d'utilisateur spécial ne peuvent pas être modifiés (voir la commande "su"). 'Chacl' est synonyme de 'aclchg'. Mode multi-utilisateur uniquement. et d'autres doivent également être supprimés ou l'utilisateur peut être en mesure de retrouver l'autorisation d'écriture. Les droits du nom d'utilisateur spécial ne peuvent pas être modifiés (voir la commande "su"). 'Chacl' est synonyme de 'aclchg'. Mode multi-utilisateur uniquement. et d'autres doivent également être supprimés ou l'utilisateur peut être en mesure de retrouver l'autorisation d'écriture. Les droits du nom d'utilisateur spécial ne peuvent pas être modifiés (voir la commande "su"). 'Chacl' est synonyme de 'aclchg'. Mode multi-utilisateur uniquement.
screen
lire partout où la session d'écran est attachée, ce qui ressemble à ce que l'OP a demandé.aclcng
commande peut spécifier des utilisateurs particuliers, des commandes particulières et / ou des fenêtres particulières, ce qui donne une granularité assez fine. Ce n'est donc pas "partout".J'ai trouvé une solution de contournement assez simple qui permet de surveiller la sortie en toute sécurité.
Exécutez les commandes suivantes immédiatement après avoir accédé à la session écran:
Détachez la session avec Ctrl-A det suivez la sortie du script, par exemple:
la source
Ma solution actuelle consiste à définir la vue du terminal sur ReadOnly .
C'est peut-être trop évident. Cependant, la question ne nécessitait pas de solution en
screen
soi.la source
j'ai écrit un script php appelé
readscreen
pour ... attacher aux sessions d'écran en mode lecture seule. enregistrez-le/usr/bin/readscreen
et exécutezchmod 0555 /usr/bin/readscreen
, et assurez-vous que php-cli est installé avec l'extension php-pcntl, et vous pouvez écrirereadscreen
suivi de la commande que vous utiliseriez pour vous connecter à l'écran normal, par exemple:et vous serez connecté à la session foo en lecture seule . notez qu'il n'est pas largement testé, mais semble bien fonctionner. code source de l'écran de lecture:
la source