GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Möglichkeit, eine bestimmte Registerkarte von Chrome über Bash zu aktivieren?

Angenommen, ich habe beispielsweise ein aktives Chrome-Fenster, in dem Google Mail irgendwo zwischen seinen Registerkarten geöffnet ist (aber nicht unbedingt die aktive Registerkarte).

Frage: Gibt es eine Möglichkeit, den Google Mail-Tab zu aktivieren? von der Befehlszeile aus?

Akzeptierte Antwort:

Ja. Ich mache es derzeit so:

1) Sie müssen jq installieren, um mit Tab-Daten herumzuspielen, die Sie erhalten, wenn Sie das Skript der aktuell geöffneten Tabs in Chromium aufrufen.
Außerdem müssen Sie chrome-remote-interface installieren, um die Arbeit zu erledigen Aktivierung der Tabs von Hintergrund -> Vordergrund von Chromium.

2) Chromium muss mit aktiviertem Remote-Debugging ausgeführt werden. Schließen Sie alle Chromium-Instanzen und führen Sie diesen Befehl statt nur chromium aus im Terminal sonst funktioniert dieser Prozess nicht:

/usr/bin/chromium --remote-debugging-port=9222 &

3) Verwenden Sie dieses Basisskript als Beispiel und speichern Sie es als act , chmod +x es und legen Sie es im bin-Verzeichnis Ihres Benutzers ab. Ich verwende zum Beispiel ein Bash-Skript, es kann portiert werden, wenn Sie ein zsh-Benutzer sind:

#!/usr/bin/env bash

TABS_JSON=$(chrome-remote-interface list | sed -e "s/^'//" -e "s/'$//" | jq -r 'map(select(.type == "page") | {id: .id, title: .title})')

if [[ -z [email protected] ]]; then
    TAB_NAMES=$(echo "$TABS_JSON" | jq -r 'map(.title) | .[]')

    echo "$TAB_NAMES"
else
    TAB=$*

    TAB_ID=$(echo "$TABS_JSON" | jq -r "map(select(.title | match("${TAB}";"i")) | .id) | .[]")

        chrome-remote-interface activate "$TAB_ID" >/dev/null

    #you might need wmctrl if window does not activate. 
    #wmctrl -a chromium
fi

Navigieren Sie zu cnn.com und ein paar anderen Registerkarten und lassen Sie cnn.com im Hintergrund, wechseln Sie zum Terminal und probieren Sie den Befehl so aus:

act cnn

Es sollte das Chromium-Fenster aktivieren und zur Registerkarte cnn wechseln. Es steht Ihnen frei, dies weiter mit Ihrem rofi-Menü oder Ihrer fzf-Variante in Ihren Workflow zu integrieren und sogar die Liste der offenen Tabs in den globalen Pool aktiver Fenster einzufügen.


Linux
  1. Bash ignoriert Fehler für einen bestimmten Befehl

  2. Führen Sie den Bash-Befehl auf der Jenkins-Pipeline aus

  3. Wie führe ich ein Bash-Skript über einen absoluten Pfad aus?

  4. Was ist der beste Weg, um zu überprüfen, ob ein Volume in einem Bash-Skript gemountet ist?

  5. Bestimmen Sie, ob das Dateisystem oder die Partition RO oder RW über Bash Script gemountet ist?

Chromium-Seite „Neuer Tab“ wird nicht geladen?

Chromium-Browser:Befehl nicht gefunden

Gibt es eine Möglichkeit, Benachrichtigungen vom Bash-Skript in Ubuntu anzuzeigen?

Xubuntu Chromium NET::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED

Der einfachste Weg, eine Datei per E-Mail über die Befehlszeile in * nix zu senden?

bash-Dateivervollständigung ohne Angabe von ./