Установите максимальный размер для виртуального экрана.
Создайте файл /etc/X11/xorg.conf, если он еще не существует, и добавьте контент
Section "Screen"
Identifier "Default Screen"
Device "Default Video Device"
SubSection "Display"
Virtual 2720 1024
EndSubSection
EndSection
В Virtual X Y, X и Y должны быть размером экрана или больше, чем указано в сообщении об ошибке.
Я использую скрипт Джейкоба. Однако теперь я использую адаптер, поэтому хочу иметь возможность переключать ориентацию, подключен ли монитор к HDMI или через адаптер. Для этого я модифицировал сценарий Явоба и заимствовал другую функцию, которую он написал:
import subprocess
def screens():
'''
get connected screens
'''
output = [l for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()]
return [l.split()[0] for l in output if " connected " in l]
# --- set the name of the screen and the rotate direction below
# screen = "HDMI-1" # run "xrandr" to get the screen
rotate = "left" # the desired orientation
if "HDMI-1" in screens():
screen = "HDMI-1"
elif "DP-1" in screens():
screen = "DP-1"
else:
pass
# ---
# only run if screen is declared (i.e. either HDMI-1 or DP-1 are connected)
if screen:
matchline = [
l.split() for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()\
if l.startswith(screen)
][0]
s = matchline[
matchline.index([s for s in matchline if s.count("+") == 2][0])+1
]
rotate = "normal" if s == rotate else rotate
subprocess.call(["xrandr", "--output", screen, "--rotate", rotate])