Misalkan, misalnya, saya memiliki jendela chrome aktif dengan gmail dibuka di suatu tempat di antara tabnya (tetapi tidak harus tab aktif).
Pertanyaan: Apakah ada cara untuk mengaktifkan tab gmail dari baris perintah?
Jawaban yang Diterima:
Ya. Saat ini saya melakukannya seperti ini:
1) Anda harus menginstal jq untuk mengotak-atik data tab yang akan Anda dapatkan saat menjalankan skrip tab yang saat ini terbuka di chromium.
Anda juga harus menginstal chrome-remote-interface untuk melakukan pekerjaan mengaktifkan tab dari latar belakang -> latar depan kromium.
2) chromium harus dijalankan dengan debugging jarak jauh dihidupkan. tutup semua instance chromium, dan jalankan perintah ini alih-alih hanya chromium
di terminal jika tidak, proses ini tidak akan berfungsi:
/usr/bin/chromium --remote-debugging-port=9222 &
3) gunakan skrip dasar ini sebagai contoh dan simpan sebagai act
, chmod +x
dan letakkan di direktori bin pengguna Anda. Saya menggunakan skrip bash misalnya, itu dapat di-porting jika Anda adalah pengguna 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
arahkan ke cnn.com dan beberapa tab lain dan pertahankan cnn.com di latar belakang, alihkan ke terminal dan coba perintah seperti ini:
act cnn
Itu harus mengaktifkan jendela chromium dan beralih ke tab cnn. Anda bebas untuk mengintegrasikan ini lebih lanjut dengan menu rofi atau varian fzf dalam alur kerja Anda, dan bahkan memasukkan daftar tab yang terbuka ke kumpulan global jendela aktif.