Я хотел бы создать запускающее средство запуска:
chromium-browser chrome://inspect
Однако, это просто открывает хром, как будто вообще не был указан URL.
Можно ли даже запустить Chromium, открывая chrome://
URL?
В то время как "нормальный" URL действительно работает как ожидалось, кажется невозможным сначала использовать chrome://
URL от команды, и нет ничего в man chromium-browser
страница справочника на этом.
Однако очень хорошо возможно работать вокруг этого, с помощью xdotool.
установка xdotool
sudo apt-get install xdotool
Используйте следующую команду в Вашем .desktop
файл:
/bin/bash -c "chromium-browser&sleep 2&&xdotool type 'chrome://inspect'&&xdotool key Return"
То, что это сделает, открыться chromium browser
, xdotool
введет chrome://inspect
URL и (моделирует) возврат нажатия.
Эффективно это сделает точно, что Вы хотите.
Никакая потребность сказать, что можно заменить chrome://inspect
с любым другим из chrome://
команды.
В команде существует маленькое повреждение, включенное 2 секунд, чтобы удостовериться, что браузер загружается прежде xdotool
начинает вводить. В моей системе (не новое) это может быть изменено на sleep 1
и все еще работа отлично. Можно экспериментировать немного с ним.
править
Грязный или нет, решение должно всегда работать. Я попробовал решение выше время от времени и нашел, что иногда, оно занимает слишком много времени у chromium-browser
окно для появления. Особенно то, когда компьютер в большой степени занят, существует шанс xdotool, начинает вводить "вслепую".
Решение ниже "долговременно" и должно работать при всех обстоятельствах; это удостоверяется xdotool
только начинает вводить когда новое chromium-browser
окно появляется в appr. 15 секунд.
run_chrcommand.py
использование в качестве команды в Вашем .desktop
файл:
python3 /path/to/run_chrcommand.py
#!/usr/bin/env python3
import subprocess
import getpass
import time
user = getpass.getuser()
get = lambda x: subprocess.check_output(["/bin/bash", "-c", x]).decode("utf-8")
ws1 = get("wmctrl -lp"); t = 0
subprocess.call(["/bin/bash", "-c", "chromium-browser&"])
while t < 30:
ws2 = [w.split()[2] for w in get("wmctrl -lp").splitlines() if not w in ws1]
procs = [[p for p in get("ps -u "+user).splitlines() \
if "chromium-bro" in p and w in p] for w in ws2]
if len(procs) > 0:
command = "xdotool type 'chrome://inspect'&&xdotool key Return"
subprocess.call(["/bin/bash", "-c", command])
break
time.sleep(0.5)
t = t+1