GNU/Linux >> Znalost Linux >  >> Linux

Jak aktivovat konkrétní kartu Chrome přes Bash?

Předpokládejme například, že mám aktivní okno chrome s gmailem otevřeným někde mezi jeho kartami (ale nemusí to být nutně aktivní karta).

Otázka: Existuje způsob, jak aktivovat kartu Gmail z příkazového řádku?

Přijatá odpověď:

Ano. Momentálně to dělám takto:

1) budete si muset nainstalovat jq, abyste si mohli pohrát s daty na kartách, které dostanete při vyvolání skriptu aktuálně otevřených karet v chromu.
také budete muset nainstalovat chrome-remote-interface, abyste mohli pracovat aktivace karet z pozadí -> popředí chromu.

2) Chromium musí běžet se zapnutým vzdáleným laděním. zavřete všechny instance chromium a spusťte tento příkaz namísto pouhého chromium v terminálu, jinak tento proces nebude fungovat:

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

3) použijte tento základní skript jako příklad a uložte jej jako act , chmod +x a umístěte jej do adresáře bin vašeho uživatele. Používám například bash skript, lze jej přenést, pokud jste uživatelem zsh:

#!/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

přejděte na cnn.com a několik dalších karet a nechte cnn.com na pozadí, přepněte se na terminál a vyzkoušejte příkaz takto:

act cnn

Mělo by se aktivovat okno chromium a přepnout na kartu cnn. Můžete to dále integrovat s vaším rofi menu nebo variantou fzf ve vašem pracovním postupu a dokonce hodit seznam otevřených karet do globálního fondu aktivních oken.


Linux
  1. Jak spustit bash skript přes absolutní cestu?

  2. Nejjednodušší způsob odeslání souboru e-mailem pomocí příkazového řádku v *nix?

  3. dokončení bash souboru bez zadání ./

  1. Nejlepší způsob, jak zjistit (ze skriptu), zda je software nainstalován?

  2. Stránka „nová karta“ Chromium se nenačítá?

  3. Jaký je nejlepší způsob, jak zkontrolovat, zda je svazek připojen ve skriptu Bash?

  1. Jak aktualizovat Ubuntu IP a název hostitele přes Bash

  2. Nejkratší způsob, jak vyměnit dva soubory v bash

  3. Bash ignoruje chybu pro konkrétní příkaz