Я использую Chromium (версия Chrome с открытым исходным кодом) на Ubuntu Linux. Могу ли я написать программу, чтобы увидеть, какие вкладки у меня открыты? Я хотел бы написать программу для контроля того, сколько времени я трачу на вещи. Есть ли программа командной строки, какой-то способ вызвать команду chromium-browser или какое-то заклинание dbus, которое скажет мне, какие вкладки у меня открыты и по какому URL-адресу находится каждая вкладка?
Chrome в Linux — запросите браузер, чтобы узнать, какие вкладки открыты?
Ответы (5)
Действительно, есть параметр командной строки, который может открыть дверь для запущенного процесса хрома (хрома) --remote-shell-port
. Через этот «черный ход» вы можете получить список открытых вкладок.
- Посмотрите chromedevtools, чтобы получить дополнительные сведения.
ОБНОВИТЬ:
Chrome DevTools устарел и больше не поддерживается, начиная с версии >17.0.950. * См. руководство WebKit-Protocol, если новый Debug-Framework предоставляет аналогичные способы для выполнения задание.
Chrome в Linux — запросите у браузера посмотреть, какие вкладки открыты?
Для chromium
:
strings ~/'.config/chromium/Default/Current Session' | 'grep' -E '^https?://'
strings ~/'Library/Application Support/Google/Chrome/Default/Current Session' | 'grep' -E '^https?://'
- person AlexMorley-Finch; 28.08.2018
No such file or directory
. Вы можете помочь, пожалуйста?
- person Rahul Raval; 18.12.2018
strings
- person stantonk; 30.01.2019
https
есть, спасибо. И ~/.config/google-chrome/Default/'Current Session'
для Chrome.
- person roachsinai; 24.02.2019
Вот более общее решение (работает и с другими приложениями) путем запроса окна X, находящегося в фокусе, с помощью xdotool.
while true; do
xdotool getwindowfocus getwindowname;
sleep 10;
done
Это выводит, например, следующее:
Tilix: Defaultpeter-ThinkPad-T5801: peter@peter-ThinkPad-T580: ~
Chrome on Linux - query the browser to see what tabs are open? - Stack Overflow - Google Chrome
Local KVM
untitled — Atom
untitled — Atom
Open File
iostat_xtmz_3.out — ~/Work/KappAhl/Test1 — Atom
Tilix: Defaultpeter-ThinkPad-T5801: peter@peter-ThinkPad-T580: ~*
Я написал инструмент для извлечения данных из файлов сеанса Chrome именно для этой цели. https://github.com/lemnos/chrome-session-dump. Запустив его таким образом, chrome-session-dump создаст список вкладок (по порядку), которые впоследствии можно будет передать в firefox. Например, chrome-session-dump|xargs firefox. Вы также можете получить текущую открытую вкладку через -active для обработки внешними скриптами.
Расширение приведенной выше команды unix (у меня недостаточно репутации, чтобы комментировать). Я пытался просто подсчитать количество вкладок. Это все еще не идеально, потому что я думаю, что в файле есть вся история всех вкладок. Я думаю, они в порядке, но не очевидно, как их разделить.
strings ~/Library/Application\ Support/Google/Chrome/Default/Sessions/Tabs_* | sed -nE 's/^([^:]+):\/\/(.*)\/$/\2/p' | grep -v "newtab" | grep -v "new-tab-page" | sort | uniq | wc -l
Это на Mac, поэтому ваши пути и параметры sed могут отличаться.
Основная идея состоит в том, чтобы избавиться от завершающих косых черт (многие редиректы просто добавляют косую черту) и новых вкладок, чтобы мы могли получить точный подсчет. Для моего текущего файла вкладок количество открытых вкладок сократилось со 181 до 35. Сейчас это выглядит как занижение, но это намного ближе.