Ну, вот кое-что, но вряд ли идеальное:
Я только что нашел https://github.com/ponty/PyVirtualDisplay; и поскольку у меня были установлены Xephyr
и awesome-wm
, я смог написать скрипт на Python, который относительно легко запускает следующее:
Очевидно, что мой обычный стиль окружения рабочего стола (как на картинке OP) отсутствует - и вы не можете масштабировать окно (изменять размер окна: ширину и высоту, перетаскивая). Также нет интерактивной ручки "изменения размера панели" для изменения относительной высоты приложений. И самое главное - копирование/вставка текста между приложениями внутри и вне Xephyr не работает!
Кроме того, скрипт запускает awesome-wm
в надежде, что он автоматически разместит мои приложения - но по какой-то причине он этого не делает, поэтому мне приходится размещать приложения вручную с помощью wmctrl
. Но у внутренних окон отсутствуют строки заголовков, что, как мне кажется, сделано awesome-wm
; так что, вероятно, в конечном итоге можно будет установить черепицу.
Вот сценарий - назовем его tilewm-app-tester.py
:
from easyprocess import EasyProcess
from pyvirtualdisplay import Display
#~ from pyvirtualdisplay.smartdisplay import SmartDisplay # needs pyscreenshot
import logging
logging.basicConfig(level=logging.DEBUG)
import time
_W = 600
_H = 500
# height percents
hp1 = 0.6
hp2 = 1-hp1 # the rest
Display(visible=1, size=(_W , _H)).start()
# EasyProcess.start() # spawns process in background
# EasyProcess.check() # loops process in foreground
try:
EasyProcess('awesome -c rc.lua').start()
except Exception, detail:
print detail
time.sleep(2)
try:
EasyProcess('bash -c "cd $HOME && scite"').start()
except Exception, detail:
print detail
time.sleep(2)
try:
# 0,x,y,w,h
EasyProcess(['wmctrl', '-r', 'SciTE', '-e', '0,0,0,'+str(_W)+','+str(int(_H*hp1))]).start()
except Exception, detail:
print detail
# gnome-terminal -e 'bash -c "bash --rcfile <(echo source $HOME/.bashrc ; echo PS1=\\\"\$ \\\") -i"'
# first `bash` needed, otherwise cannot do process substitution as file
try:
EasyProcess(['gnome-terminal', '-e', 'bash -c "bash --rcfile <(echo source $HOME/.bashrc ; echo PS1=\\\"\$\ \\\") -i"']).start() # --maximize is Gnome, nowork
except Exception, detail:
print detail
time.sleep(0.5)
try:
# 0,x,y,w,h
EasyProcess(['wmctrl', '-r', 'Terminal', '-e', '0,0,'+str(int(_H*hp1))+','+str(_W)+','+str(int(_H*hp2))]).start()
except Exception, detail:
print detail
Я предполагаю, что комментарии dbmin
/ dbmax
отсутствуют, потому что этот файл был сгенерирован с помощью более старой версии драйвера, в которой еще не было информации о децибелах. В любом случае комментарии игнорируются alsactl restore
, так что это не имеет значения.
Записи iface
и name
определяют управление микшером; значения value
определяют значение (с )этого элемента управления.
Чтобы заставить звук работать, вы должны знать, как эти элементы управления микшера влияют на оборудование. Очевидно, тот, кто создал эти индивидуальные настройки, знал об этом.