Конфигурация нескольких мониторов Xubuntu

Я не знаю конкретных пакетов, но разница между базой и рабочим столом в любых общих дистрибутивах Ubuntu кажется безопасным для экстраполяции:

Core - это «основные» требования к минимальной системе функции и не более. Обычно это означает, что Desktop или Xorg не установлены. Однако, поскольку это называется ядром Lubuntu, я уверен, что Xorg и LXDE установлены, но никаких дополнительных виджетов, приложений или вспомогательных скриптов, таких как графический менеджер сети, не будет.

Поскольку ядро базовые требования для любой системы, все ядро ​​должно содержаться в любом другом дистрибутиве Lubuntu, как таковое, Lubuntu Mini Desktop. Или перефразировать, Lubuntu Mini Desktop должен иметь ВСЕ пакеты в Lubuntu Mini Core, а также некоторые дополнительные пакеты, чтобы сделать его полезным для обычного пользователя, например графический способ настройки вашего интернет-соединения.

1
задан 14 February 2018 в 20:35

2 ответа

Я попробовал метод, предложенный Jacob Vlijm, который я, конечно, редактировал для своего сценария. Это не совсем сработало и по какой-то причине любая команда xrand, в которой была --auto или -pos, разбила мою машину (Im using Xubuntu 16.04)

Вот мое решение для этого

[ f1]

, это делает мой дополнительный дисплей, который я подключил через HDMI, и устанавливает его на 1080p 60Hz при отключении моего дисплея ноутбука

xrandr --output eDP1 --mode 1366x768 --pos 0x0 --rate 60.00

, что позволяет моему ноутбуку отображать его собственное разрешение 1366x768 60Hz

Я использую первую настройку, когда я подключен к 2 дисплеям, и использую вторую настройку, когда подключен только к моему дисплею ноутбука.

Вот мой файл setup_scr.sh:

#!/bin/bash

let "target = 2"
swon=false

function nscreens 
{
        curr=$(xrandr | grep " connected" | wc -l)
}

function setup_dubai 
{
    xrandr --output HDMI1 --mode 1920x1080 --pos 0x0 --rate 60.00 --output eDP1 --off
}

function setup_normal 
{
    xrandr --output eDP1 --mode 1366x768 --pos 0x0 --rate 60.00
}

while true
do
  sleep 4
    nscreens
  if [ "$curr" -eq "$target" ] && [ "$swon" == false ]
  then
    setup_dubai
    swon=true
  elif [ "$curr" -ne "$target" ] && [ "$swon" == true ]
  then
    swon=false
    setup_normal
  fi
done

Спасибо Jacob Vlijm за то, что вы сделали эту настройку реальной с его хорошим объяснением

1
ответ дан 23 May 2018 в 12:13

эти ответы касаются только восстановления. Чтобы «сохранить» текущее состояние, вы можете использовать этот скрипт (dump_randr.sh)

#!/bin/bash
fileName="$1"
while read -r line; do
    IFS=" "
    entry=( $line )
    display=${entry[0]}
    IFS="x+"
    if [[ "${entry[2]}" == primary ]]; then
        primary=1
        measurement=( ${entry[3]} )
    else
        primary=0
        measurement=( ${entry[2]} )
    fi
    unset IFS
    width=${measurement[0]}
    height=${measurement[1]}
    left=${measurement[2]}
    top=${measurement[3]}

    xrandrOpt="$xrandrOpt --ouput $display --mode ${width}x${height} --pos ${left}x${top}"
    ((primary)) && xrandrOpt="$xrandrOpt --primary"

done < <(xrandr | grep " connected")

echo $'#!/bin/bash\n'xrandr $xrandrOpt > "$fileName"
chmod +x "$fileName"

. Это позволит сбросить текущие параметры xrandr, чтобы использовать их снова. Вы можете сделать что-то подобное, чтобы сохранить текущую настройку:

dump_randr.sh 2_monitors_home.sh

, которая создает 2_monitors_home.sh для восстановления текущего состояния.

0
ответ дан 23 May 2018 в 12:13

Другие вопросы по тегам:

Похожие вопросы: