Je cherche un moyen d'envoyer une commande exécutée à un terminal TTY. Par exemple, disons que j'ouvre le gnome-terminal et sur la fenêtre que je tape sudo aptitude update && sudo aptitude upgrade
.
Comment puis-je envoyer cela à un terminal TTY au lieu de travailler avec lui dans l'environnement GUI TTY7?
command-line
tty
Luis Alvarado
la source
la source
Il s'agit d'un programme qui aidera:
Copiez le code ci-dessus dans un fichier C (par exemple, ttyecho.c). Exécutez la commande suivante dans le répertoire dans lequel vous avez créé le fichier C pour compiler le code.
Copiez ce fichier dans le répertoire bin sous votre répertoire personnel. Créez le répertoire s'il n'existe pas. C'est une bonne pratique de conserver tous les binaires / exécutables personnalisés dans ce répertoire bin.
Démarrez un autre terminal ou basculez vers tout autre terminal ouvert que vous souhaitez contrôler et exécuter la commande tty. Vous pouvez voir un exemple de sortie ci-dessous.
Maintenant, pour exécuter une commande sur / dev / pts / 5 , exécutez la commande suivante dans le terminal de contrôle / d'origine.
Vous verrez que la commande ls est exécutée dans / dev / pts / 5 . L' option -n oblige ttyecho à envoyer une nouvelle ligne après la commande, afin que la commande soit exécutée et pas seulement insérée. Cet utilitaire peut être utilisé pour envoyer des données à d'autres terminaux. Par exemple, vous pouvez ouvrir vim dans / dev / pts / 5 puis exécuter la commande suivante dans le terminal de contrôle pour provoquer la sortie de vim dans / dev / pts / 5 .
Pour éviter d'utiliser sudo tout le temps, afin que la commande soit facilement scriptable, modifiez les propriétaires / autorisations de cet exécutable à l'aide des commandes suivantes.
NB: La définition du bit setuid peut devenir un risque pour la sécurité.
Source: http://www.humbug.in/2010/utility-to-send-commands-or-data-to-other-terminals-ttypts/
la source