Ich suche nach einer Möglichkeit, einen ausgeführten Befehl an ein TTY-Terminal zu senden. Nehmen wir zum Beispiel an, ich öffne das Gnome-Terminal und tippe in das Fenster, das ich tippe sudo aptitude update && sudo aptitude upgrade
.
Wie kann ich dies an ein TTY-Terminal senden, anstatt damit in der TTY7-GUI-Umgebung zu arbeiten?
command-line
tty
Luis Alvarado
quelle
quelle
Dies ist ein Programm, das helfen wird:
Kopieren Sie den obigen Code in eine C-Datei (z. B. ttyecho.c). Führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem Sie die C-Datei erstellt haben, um den Code zu kompilieren.
Kopieren Sie diese Datei in das bin-Verzeichnis unter Ihrem Home-Verzeichnis. Erstellen Sie das Verzeichnis, falls es nicht vorhanden ist. Es wird empfohlen, alle benutzerdefinierten Binärdateien / ausführbaren Dateien in diesem bin-Verzeichnis zu speichern.
Starten Sie ein anderes Terminal oder wechseln Sie zu einem anderen offenen Terminal, das Sie steuern und den Befehl tty ausführen möchten. Unten sehen Sie eine Beispielausgabe.
Führen Sie nun den folgenden Befehl im steuernden / ursprünglichen Terminal aus , um einen Befehl für / dev / pts / 5 auszuführen.
Sie werden sehen, dass der Befehl ls in / dev / pts / 5 ausgeführt wird . Die -n Option wird eine neue Zeile nach dem Befehl ttyecho senden, so dass der Befehl nicht nur eingefügt ausgeführt wird. Dieses Dienstprogramm kann infact verwendet werden, um Daten an andere Terminals zu senden. Sie können beispielsweise vim in / dev / pts / 5 öffnen und dann den folgenden Befehl im steuernden Terminal ausführen, damit vim in / dev / pts / 5 beendet wird .
Um zu vermeiden, dass sudo ständig verwendet wird, damit der Befehl leicht skriptfähig ist, ändern Sie die Eigentümer / Berechtigungen dieser ausführbaren Datei mit den folgenden Befehlen.
NB: Das Setzen des Setuid-Bits kann zu einem Sicherheitsrisiko werden.
Quelle: http://www.humbug.in/2010/utility-to-send-commands-or-data-to-other-terminals-ttypts/
quelle