Вам нужно перенаправить на нулевое устройство:
ping google.com >/dev/null
Не совсем ответ, но вы можете установить терминал GUAKE в ubuntu. sudo apt-get install guake
Нажатие кнопки F12 переключает режим включения / выключения. Быстрее, чем переключать рабочие пространства. :
). Для спорта: для сохранения одного или нескольких приложений, запущенных на одном или нескольких указанных видовых экранах, вы можете использовать приведенный ниже сценарий. Он работает в фоновом режиме и работает по мере описания, но вы можете добавить несколько приложений для работы в разных видовых экранах.
Хотя сценарий выглядит немного шире, большая часть его выполняется только один раз, чтобы собирать данные о вашем просмотре (окнах), столбцах видовых экранов и amp; строк, разрешения экрана и т. д. Это не является частью цикла.
Если вы закроете окно приложения, указанное для области просмотра, оно откроет новое окно приложения в целевом видовом экране.
Сначала: install wmctrl:
sudo apt-get install wmctrl
Затем просто скопируйте сценарий в пустой файл, установите необходимые вам приложения (ы) в одном или нескольких кортежи в списке, см. пример в разделе главы сценария) и целевые окна (ы), в которых вы нуждаетесь, чтобы они запускались (и сохранялись). Сохраните его как keep_running.py и сделайте его исполняемым.
запустите его командой:
/path/to/keep_running.py
, вы можете добавить его в свои приложения для запуска.
Сценарий:
#!/usr/bin/env python3
import subprocess
import time
# list applications and targeted viewports
applications = [("gnome-terminal", 4), ("gedit", 3)]
def get_value(command):
return subprocess.check_output(
["/bin/bash", "-c", command]).decode('utf-8').strip()
def screendata():
getres = get_value("xrandr").split(); idf = getres.index("current")
screen_res = (int(getres[idf+1]), int(getres[idf+3].replace(",", "")))
wsp_info = get_value("wmctrl -d").strip()
scr_data = [item.split("x") for item in wsp_info.split(" ") if "x" in item][0]
VP_hor = int(scr_data[0])/int(screen_res[0])
VP_vert = int(scr_data[1])/int(screen_res[1])
ranges_hor = [i*screen_res[0] for i in range(int(VP_hor))]
ranges_vert = [i*screen_res[1] for i in range(int(VP_hor))]
w_positions = [(int(ranges_hor[i]), int(ranges_vert[i2]))\
for i2 in range(len(ranges_vert)) for i in range(len(ranges_hor))]
return {"resolution": screen_res, "horizontal": ranges_hor,
"vertical": ranges_vert, "columns": int(VP_hor),
"window_positions": w_positions}
def get_viewport(abs_h, abs_v): #calculates viewport from absolute coords
hor = screen_data["horizontal"]
vert = screen_data["vertical"]
hor_position = len([n for n in hor if int(abs_h) >= n])
vert_position = len([n for n in vert if int(abs_v) >= n])
return int(hor_position+(vert_position-1)*screen_data["columns"])
def window_position(rel_h, rel_v): #calculates viewport from coords, relative to current viewport
wsp_info = get_value("wmctrl -d").strip().split()
vp_coords = eval(wsp_info[wsp_info.index("VP:"):][1])
abs_h = rel_h+vp_coords[0]
abs_v = rel_v+vp_coords[1]
return get_viewport(abs_h, abs_v)
def pid_appinfo(pid):
get_app = "ps -p "+pid+" -o comm="
return get_value(get_app)
def check_windows():
try:
wlist = get_value("wmctrl -l -p -G")
except Exception:
# retry; when switching viewports while the command runs, it raises an error
wlist = get_value("wmctrl -l -p -G")
wdata = [l.split()[2:5] for l in wlist.split("\n")]
app_windows = []
for item in wdata:
if item[0] != "0":
try:
if pid_appinfo(item[0]) == application\
and window_position(int(item[1]), int(item[2])) == target_viewport:
app_windows.append(item)
except Exception:
pass
if len(app_windows) == 0:
targeted_viewport = str(screen_data["window_positions"][target_viewport-1])\
.replace("(","").replace(")","")
subprocess.call(["wmctrl", "-o", targeted_viewport])
subprocess.Popen([application])
screen_data = screendata()
while True:
for item in applications:
application = item[0]; target_viewport = item[1]
check_windows()
time.sleep(2)
Этот скрипт также находится в gist.gisthub
Как настроить рабочий стол по своему усмотрению. Затем выполните остановку, но при необходимости установите флажок «Сохранить сеанс». Может работать?