Salvando as configurações do monitor?

14

Existe uma maneira de salvar minhas configurações de monitor? Eu tenho um monitor externo no trabalho, mas todas as manhãs eu tenho que ligá-lo, reorganizar as janelas de estar lado a lado para estar em cima uns dos outros. Posso apenas salvar isso?

    
por Oscar Godson 11.10.2010 / 23:05

8 respostas

5

Configuração para todos os seus monitores - hot plug ou não - deve ser armazenado em $HOME/.config/monitors.xml pelo xrandr plugin para gnome-settings-daemon , que é o que realmente aplica a configuração que você faz em o capuz Monitores.

Como parece que isso não está funcionando corretamente para todos, há claramente um bug em algum lugar. Urgh.

    
por RAOF 12.10.2010 / 03:15
4

Primeiros três passos para conectar seu monitor externo do jeito que você quiser e o quarto é salvar as configurações.

  1. Conecte seu monitor externo e verifique a resolução suportada:

    xrandr -q
    
  2. Dê o seguinte comando (Isso desativará seu monitor de laptop):

    xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
    
  3. Se você quer o laptop e o externo ativados:

    xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
    

    (yyyyXzzzz - sua resolução de laptop.)

    A configuração acima irá clonar sua tela. Jogue com a opção " --right-of / --left-of " se você quiser.

  4. Se você precisar dessas configurações durante o login, adicione as verificações em /etc/X11/Xsession.d/45custom_xrandr-settings (talvez seja necessário criar uma).

    xrandr |grep VGA1 | grep " connected " | if [ $? -eq 0 ]; then xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal  #Change the way u need ; fi
    
por user8361 05.01.2011 / 01:36
3

Longa história curta (isto é: faça o que Nicolas Bernaerts sugere, mas eu poupo os detalhes: a configuração dos monitores é salva em ~/.config/monitors.xml , mas não é aplicada na inicialização / login.

Os passos para superar isso são:

Faça o login com a configuração incorreta dos monitores.

Remova a configuração atual do monitor:

cd .config
mv monitors.xml{,.bak}

Use o aplicativo Displays para organizar os monitores como desejar (eu tenho um monitor lateral girado no sentido anti-horário).

QuandovocêpressionarAplicar,serácriadoumnovomonitors.xml.

Agora,baixeetorneexecutáveloscripteoativadorqueforçamaconfiguraçãodomonitorcombasenoarquivodeconfiguraçãorecém-criado:

$sudowget-O/usr/local/sbin/update-monitor-positionhttps://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position$sudochmod+x/usr/local/sbin/update-monitor-position$sudowget-O/usr/share/applications/update-monitor-position.desktophttps://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop$sudochmod+x/usr/share/applications/update-monitor-position.desktop

Nesteponto,aconfiguraçãodosmonitorespodesercorrigidacomolançamentodoaplicativoupdatemonitorposition.

Sevocêquiserqueissosejaautomático,bastaadicionarumaplicativodeinicialização,comasseguintesentradas:

  • Nome:UpdateMonitorsPosition
  • Comando:update-monitor-position5
  • Comentário:Forcemonitorsposition5secondsafterlogin

    
por Alessandro Cuttin 04.01.2016 / 10:25
1

O Ubuntu 12.04 lembra as configurações do monitor hot plug. Mas eles só são aplicados quando você reabrir a configuração do sistema > Exibe o applet. Este é o caso para mim, pelo menos, e isso é definitivamente um bug.

    
por Jens 15.08.2013 / 20:38
1

No escritório, tenho três monitores no meu laptop e dois em casa. Dois monitores de escritório são definidos na vertical, enquanto outros monitores estão na orientação normal.

O monitor.xml está em ~ / .config.

  1. Excluir
  2. Definir a exibição na configuração do escritório
  3. Renomeie apenas criado "monitores.xml" para "monitores-office.xml".

Obtenha o shell script, "update-monitor-position".

  1. Altere a definição "MONITOR_XML", "monitores.xml" para "monitores-office.xml".

  2. Salve como "update-monitor-position-office", no caminho do executável (/ usr / local / sbin /).

  3. Toque na permissão - > executável por "Me".

C. Obter atalho na área de trabalho, "update-monitor-position.desktop"

  1. Alterar a definição "Exec", "update-monitor-position" para o
    "update-monitor-position-office".
  2. Salve como "update-monitor-position-office.desktop"
  3. Toque na permissão - > executável por "Me".

update-monitor-posição-office.desktop:

[Desktop Entry]
Type=Application
Exec=update-monitor-position-office
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=Office Monitors Position
Name=Office Monitors Position
Comment[en_US]=Force monitors position from monitor-office.xml
Comment=Force monitors position from monitor-office.xml
Icon=display

Script de shell, update-monitor-position-office

#!/bin/bash
# -------------------------------------------------
#  Get monitors configuration from monitor.xml and apply it for current user session.
#  In case of multiple definitions in monitor.xml only first one is used.
#
#  See http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost
#  for instructions
#
#  Parameters :
#    $1 : waiting time in sec. before forcing configuration (optional)
#
#  Revision history :
#    19/04/2014, V1.0 - Creation by N. Bernaerts
#    10/07/2014, V1.1 - Wait 5 seconds for X to fully initialize
#    01/09/2014, V1.2 - Correct NULL file bug (thanks to Ivan Harmady) and handle rotation
#    07/10/2014, V1.3 - Add monitors size and rate handling (idea from jescalante)
#    08/10/2014, V1.4 - Handle primary display parameter
#    08/12/2014, V1.5 - Waiting time in seconds becomes a parameter
# -------------------------------------------------

# monitor.xml path
MONITOR_XML="$HOME/.config/monitors-office.xml"

# get number of declared monitors
NUM=$(xmllint --xpath 'count(//monitors/configuration['1']/output)' $MONITOR_XML)

# loop thru declared monitors to create the command line parameters
for (( i=1; i<=$NUM; i++)); do
  # get attributes of current monitor (name and x & y positions)
  NAME=$(xmllint --xpath 'string(//monitors/configuration['1']/output['$i']/@name)' $MONITOR_XML 2>/dev/null)
  POS_X=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/x/text()' $MONITOR_XML 2>/dev/null)
  POS_Y=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/y/text()' $MONITOR_XML 2>/dev/null)
  ROTATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rotation/text()' $MONITOR_XML 2>/dev/null)
  WIDTH=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/width/text()' $MONITOR_XML 2>/dev/null)
  HEIGHT=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/height/text()' $MONITOR_XML 2>/dev/null)
  RATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rate/text()' $MONITOR_XML 2>/dev/null)
  PRIMARY=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/primary/text()' $MONITOR_XML 2>/dev/null)

  # if position is defined for current monitor, add its position and orientation to command line parameters
  [ -n "$POS_X" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--output" "$NAME" "--pos" "${POS_X}x${POS_Y}" "--fbmm" "${WIDTH}x${HEIGHT}" "--rate" "$RATE" "--rotate" "$ROTATE")

  # if monitor is defined as primary, adds it to command line parameters
  [ "$PRIMARY" = "yes" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--primary")
done

# if needed, wait for some seconds (for X to finish initialisation)
[ -n "$1" ] && sleep $1

# position all monitors
xrandr "${PARAM_ARR[@]}"
    
por jay 08.01.2018 / 16:22
1

A resposta de jay quase funcionou para mim, mas eu precisava dar alguns passos extras. Eu faria um comentário sobre sua resposta, mas não tenho a reputação.

No arquivo update-monitor-position-office:

  1. Minha versão do bash (4.3.48) reclamou da falta de espaço após o "i ++" na linha 28.
  2. Minha versão do xrandr (1.5) não reconheceu a opção "--fbmm" na linha 40. Eu tive que mudar isso para "--mode". Isso foi difícil de diagnosticar porque xrandr não me deu um erro, apenas executou o comando sem fazer nada.
por 13.11.2018 / 23:27
1

Eu prefiro rodar esse script a partir de um terminal, pois eu abro um primeiro após o login.

Primeiro login com a configuração incorreta - monitores não colocados corretamente:

cd ~/.config
mv ~/.config/monitors.xml{,.bak}

Agora defina seus monitores com as configurações do sistema para criar um novo arquivo ~/.config/monitors.xml com configurações adequadas.

Copie o script corrigido de Nicolas Bernaerts do meu repo: link e coloque-o em um caminho para ser executado terminal.

$ ls -l ~/bin
# if you don't have this directory then create it - do not be logged in as root here.

$ mkdir /home/$USER/bin

$ echo $PATH
# should show /home/username/bin if the dir existed or if you had to create.

$ wget -P ~/bin https://raw.githubusercontent.com/alextomko/monitors/master/monitors
$ chmod +x ~/bin/monitors

# Run it
$ monitors
    
por 14.11.2018 / 23:41
0

Não, não é possível salvar configurações em monitores com conexão a quente. Se você conectar antes do boot, o GNOME deve se lembrar da configuração em cada inicialização em uma base por dispositivo (ou seja, conectando-se ao seu monitor no trabalho versus aquele em casa).

    
por maco 11.10.2010 / 23:12