Tenho dois monitores lado a lado no meu escritório, no meu desktop Ubuntu. Tenho aliases para diferentes configurações de monitor. É importante ressaltar que às vezes quero espelhar os monitores (para discussões com alunos no meu laboratório) e às vezes quero permitir que um aluno use o segundo monitor como dispositivo de apresentação.
Quando executo o alias "mirror" depois de "landscape" ou "portrait", xrandr
aparece a mensagem de que a tela não é grande o suficiente devido às configurações anteriores. Se eu executar o alias "student" primeiro (o que desliga o segundo monitor), consigo executar o "mirror" com sucesso.
Já fiz várias edições diferentes, mas nada parece surtir o efeito desejado. O que estou fazendo de errado com xrandr
?
Aqui está a saída na linha de comando.
[~] source ~/src/dotfiles/hosts/gtkoffice_rc
[~] landscape
[~] mirror
xrandr: specified screen 1920x1200 not large enough for output DP-2 (1920x1200+1920+0)
xrandr: Configure crtc 1 failed
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 21 (RRSetCrtcConfig)
Value in failed request: 0x0
Serial number of failed request: 54
Current serial number in output stream: 54
[~] landscape
[~] student
[~] mirror
[~]
E aqui estão os materiais de~/src/dotfiles/hosts/gtkoffice_rc
export RIGHT_DISPLAY="DP-2"
export LEFT_DISPLAY="DP-3"
# for editing manuscripts
alias portrait='xrandr --fb 3120x1920 --output $LEFT_DISPLAY --mode 1920x1200 --panning 1920x1200+0+0 --output $RIGHT_DISPLAY --mode 1920x1200 --panning 1200x1920+1920+0 --rotate left'
# for normal work
alias landscape='xrandr --fb 3840x1200 --output $LEFT_DISPLAY --mode 1920x1200 --panning 1920x1200+0+0 --output $RIGHT_DISPLAY --mode 1920x1200 --panning 1920x1200+1920+0 --rotate normal'
# for discussions
alias mirror='xrandr --fb 1920x1200 --output $LEFT_DISPLAY --mode 1920x1200 --panning 1920x1200+0+0 --output $RIGHT_DISPLAY --mode 1920x1200 --panning 1920x1200+0+0 --rotate normal'
# student using 2nd monitor
alias student='xrandr --fb 1920x1200 --output $LEFT_DISPLAY --mode 1920x1200 --panning 1920x1200+0+0 --output $RIGHT_DISPLAY --off'