Я не знаю конкретных пакетов, но разница между базой и рабочим столом в любых общих дистрибутивах Ubuntu кажется безопасным для экстраполяции:
Core - это «основные» требования к минимальной системе функции и не более. Обычно это означает, что Desktop или Xorg не установлены. Однако, поскольку это называется ядром Lubuntu, я уверен, что Xorg и LXDE установлены, но никаких дополнительных виджетов, приложений или вспомогательных скриптов, таких как графический менеджер сети, не будет.
Поскольку ядро базовые требования для любой системы, все ядро должно содержаться в любом другом дистрибутиве Lubuntu, как таковое, Lubuntu Mini Desktop. Или перефразировать, Lubuntu Mini Desktop должен иметь ВСЕ пакеты в Lubuntu Mini Core, а также некоторые дополнительные пакеты, чтобы сделать его полезным для обычного пользователя, например графический способ настройки вашего интернет-соединения.
Я попробовал метод, предложенный 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 за то, что вы сделали эту настройку реальной с его хорошим объяснением
эти ответы касаются только восстановления. Чтобы «сохранить» текущее состояние, вы можете использовать этот скрипт (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 для восстановления текущего состояния.