Benutzerdefinierte Tastenkombination für Terminalbefehle

3

Ich möchte F1eine Zeichenfolge mit der Eingabetaste treffen und sie automatisch in das Terminal eingeben, in dem ich mich befinde. Ich möchte sie nicht ausführen, .bash_profileweil ich möchte, dass sie nicht auf jedem Server, auf dem ich mich befinde, lokal an einer Stelle konfiguriert wird ssh.

Wie mache ich das?

user634806
quelle
Ich schlage vor, Sie verwenden xmacro, wie in dieser Antwort zu sehen: askubuntu.com/questions/150122/…
Roadmr
Noch besser, sagen Sie uns, was Sie versuchen zu tun. Es gibt bessere Möglichkeiten, Dinge zu automatisieren, als xmacro zu verwenden.
Januar

Antworten:

3

OK, die Antwort, die ich habe und die fast genau wie gewünscht funktioniert, ist tatsächlich überraschend komplex. Mit können Sie xmacroTastenanschläge aufnehmen und wiedergeben.

  1. Installieren Sie xmacro

    sudo apt-get install xmacro
  2. Zeichnen Sie ein Makro auf

    xmacrorec2 > test.macro

    Drücken Sie nun ESC(um die Taste "Abbrechen" für die Aufnahme aufzuzeichnen), geben Sie den gewünschten Text ein und drücken Sie ESC erneut, um die Aufnahme zu stoppen. Das aufgezeichnete Makro befindet sich jetzt in der Datei test.macro. Sie können es mit einem Texteditor bearbeiten.

  3. Testen Sie, ob das Makro funktioniert

    cat test.macro | xmacroplay -d 0 $DISPLAY
  4. (optional, empfohlen) Erstellen Sie ein Skript mit den oben genannten Befehlen. Speichern Sie es als macro.sh:

    #!/bin/bash
    
    cat test.macro | xmacroplay -d 0 $DISPLAY > /dev/null 2>/dev/null
    

    Mach es ausführbar:

    chmod a+x macro.sh
  5. Ein kleines Problem bleibt. xmacro gibt die genauen Tastatureingaben wieder. Wenn Sie jedoch eine Verknüpfung definieren und das Skript über die Verknüpfung ausführen, werden die Tasten vor dem Loslassen der Verknüpfung wiedergegeben, als ob Sie mit der Eingabe begonnen hätten, ohne die Taste loszulassen. Sie müssen der Datei test.macro die folgende Zeile voranstellen:

    KeyStrRelease F1

    Dadurch wird das Loslassen der F1-Taste simuliert.

  6. Erstellen Sie mithilfe der Tastatureinstellungen (Sie können über die Einstellungen oder durch Eingabe von `gnome-control-center keyboard auf diese zugreifen) eine neue Verknüpfung unter" Benutzerdefinierte Verknüpfungen "und weisen Sie ihr F1 zu.

OK, aber es gibt noch eine Einschränkung: Die F1-Verknüpfung funktioniert jetzt in jeder Anwendung, nicht nur im Terminal. Ich weiß nicht, wie ich es lösen soll. evtl. macro.shmüsste man in dem testen welches fenster zuerst den fokus hat und prüfen ob die kennung dieses fensters terminal ist.

Januar
quelle