Add HiDPI select

master
Dmitry Razumov 3 years ago
parent fd44880743
commit e924722a42

@ -1,13 +1,12 @@
#!/bin/bash #!/usr/bin/env bash
# Make from ini file text file with strings like [SECTION]Name=Value
# $1 - input filename
# stdout - result file
export TEXTDOMAINDIR=/usr/share/locale export TEXTDOMAINDIR=/usr/share/locale
export TEXTDOMAIN=ublinux_functions export TEXTDOMAIN=ublinux_functions
# Make from ini file text file with strings like [SECTION]Name=Value
function ini2simple() # $1 - input filename
{ # stdout - result file
function ini2simple(){
SECTION='[]' SECTION='[]'
cat $1 | while read a ;do cat $1 | while read a ;do
[ "$a" = "" ] && continue [ "$a" = "" ] && continue
@ -22,8 +21,7 @@ function ini2simple()
# Restore ini file from text file with strings like [SECTION]Name=Value # Restore ini file from text file with strings like [SECTION]Name=Value
# $1 - input filename # $1 - input filename
# stdout - result file # stdout - result file
function simple2ini() function simple2ini(){
{
LASTSECTION='[]' LASTSECTION='[]'
cat $1 | while read a ;do cat $1 | while read a ;do
SECTION=${a%%\]*}']' SECTION=${a%%\]*}']'
@ -39,8 +37,7 @@ function simple2ini()
# It include string from $2 file and apply to $1 file # It include string from $2 file and apply to $1 file
# $1 - base file # $1 - base file
# $2 - included file # $2 - included file
function apply2simple() function apply2simple(){
{
cat "$2" | while read a ;do cat "$2" | while read a ;do
SECTION=${a%%\]*} SECTION=${a%%\]*}
SECTION=${SECTION#\[} SECTION=${SECTION#\[}
@ -78,8 +75,7 @@ function apply2simple()
# It include string from $2 ini file and apply to $1 ini file # It include string from $2 ini file and apply to $1 ini file
# $1 - base file # $1 - base file
# $2 - included file # $2 - included file
function concatenate_ini() function concatenate_ini(){
{
[ -f "$1" -a -f "$2" ] || return 1 [ -f "$1" -a -f "$2" ] || return 1
ini2simple "$1" >"$1.tmp" ini2simple "$1" >"$1.tmp"
ini2simple "$2" >"$2.tmp" ini2simple "$2" >"$2.tmp"
@ -88,52 +84,49 @@ function concatenate_ini()
rm -f "$1.tmp" "$2.tmp" rm -f "$1.tmp" "$2.tmp"
} }
detectDE() detectDE(){
{ [[ -z ${SESSION} && ${KDE_FULL_SESSION} == true ]] && SESSION=kde
if [ x"$KDE_FULL_SESSION" = x"true" ]; then SESSION=kde [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == XFCE ]] && SESSION=xfce
elif [ x"$XDG_CURRENT_DESKTOP" = x"XFCE" ]; then SESSION=xfce [[ -z ${SESSION} && ${DESKTOP_SESSION} == LXDE ]] && SESSION=lxde
elif [ x"$DESKTOP_SESSION" = x"LXDE" ]; then SESSION=lxde [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == LXQt ]] && SESSION=lxqt
elif [ x"$XDG_CURRENT_DESKTOP" = x"LXQt" ]; then SESSION=lxqt [[ -z ${SESSION} && ${DESKTOP_SESSION} == i3 ]] && SESSION=i3
elif [ x"$DESKTOP_SESSION" = x"i3" ]; then SESSION=i3 [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == i3 ]] && SESSION=i3
elif [ x"$XDG_CURRENT_DESKTOP" = x"i3" ]; then SESSION=i3 [[ -z ${SESSION} && ${DESKTOP_SESSION} == i3term ]] && SESSION=i3term
elif [ x"$DESKTOP_SESSION" = x"i3term" ]; then SESSION=i3term [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == i3term ]] && SESSION=i3term
elif [ x"$XDG_CURRENT_DESKTOP" = x"i3term" ]; then SESSION=i3term [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == MATE ]] && SESSION=mate
elif [ x"$XDG_CURRENT_DESKTOP" = x"MATE" ]; then SESSION=mate if [[ -z ${SESSION} ]]; then
fi ps -A | grep -q " xfce4-session$" && SESSION=xfce
if [ -z "$SESSION" ]; then ps -A | grep -q " kdeinit$" && SESSION=kde
ps -A | grep -q "xfce4-session" && SESSION=xfce
ps -A | grep -q "kdeinit" && SESSION=kde
ps -A | grep -q " i3$" && SESSION=i3 ps -A | grep -q " i3$" && SESSION=i3
ps -A | grep -q " i3term$" && SESSION=i3term ps -A | grep -q " i3term$" && SESSION=i3term
ps -A | grep -q "gnome-panel" && SESSION=gnome ps -A | grep -q " gnome-panel$" && SESSION=gnome
ps -A | grep -q "gnome-shell" && SESSION=gnome-shell ps -A | grep -q " gnome-shell$" && SESSION=gnome-shell
fi ps -A | grep -q " plasmashell$" && SESSION=plasma
[ "$SESSION" = "kde" -a -f /etc/X11/wmsession.d/01Plasma ] && SESSION=plasma fi
[ -z "$SESSION" -a -x /usr/bin/startxfce4 ] && SESSION=xfce [[ -z ${SESSION} && -x /usr/bin/startxfce4 ]] && SESSION=xfce
[ -z "$SESSION" -a -x /usr/bin/startlxde ] && SESSION=lxde [[ -z ${SESSION} && -x /usr/bin/startlxde ]] && SESSION=lxde
[ -z "$SESSION" -a -x /usr/bin/startlxqt ] && SESSION=lxqt [[ -z ${SESSION} && -x /usr/bin/startlxqt ]] && SESSION=lxqt
echo $SESSION [[ -z ${SESSION} && -x /usr/bin/plasmashell ]] && SESSION=plasma
[[ ${SESSION} == kde && -x /usr/bin/plasmashell ]] && SESSION=plasma
echo ${SESSION}
} }
# =========================================================== # ===========================================================
# liblinuxlive functions # liblinuxlive functions
# =========================================================== # ===========================================================
debug_log() debug_log(){
{
if grep -q "debug" /proc/cmdline ; then if grep -q "debug" /proc/cmdline ; then
echo "- debug: $*" >&2 echo "- debug: $*" >&2
log "- debug: $*" log "- debug: $*"
fi fi
} }
log() log(){
{
echo "$@" 2>/dev/null >>/var/log/ublinuxlog echo "$@" 2>/dev/null >>/var/log/ublinuxlog
} }
debug_mode() debug_mode(){
{
if [ "$(cmdline_parameter debug)" -o "$DEBUGMODE" == "yes" ] ; then if [ "$(cmdline_parameter debug)" -o "$DEBUGMODE" == "yes" ] ; then
name=$(basename $0) name=$(basename $0)
slash="/" slash="/"
@ -148,8 +141,7 @@ debug_mode()
fi fi
} }
echodebug() echodebug(){
{
[ "$DEBUG_IS_ENABLED" -o "$DEBUGMODE" == "yes" ] && echo "$1" [ "$DEBUG_IS_ENABLED" -o "$DEBUGMODE" == "yes" ] && echo "$1"
if [ -n "$2" ] ;then if [ -n "$2" ] ;then
command=$2 command=$2
@ -167,9 +159,7 @@ echodebug()
# $1 = directory which will be compressed to squashfs module # $1 = directory which will be compressed to squashfs module
# $2 = output filesystem module file # $2 = output filesystem module file
# $3..$9 = optional arguments like -keep-as-directory or -b 123456789 # $3..$9 = optional arguments like -keep-as-directory or -b 123456789
# create_module(){
create_module()
{
. /usr/lib/ublinux/os-config . /usr/lib/ublinux/os-config
. /etc/ublinux/config 2>/dev/null . /etc/ublinux/config 2>/dev/null
echo " $@ " | egrep -q ' -comp | -noD ' && MKSQFS_OPTS= echo " $@ " | egrep -q ' -comp | -noD ' && MKSQFS_OPTS=
@ -179,18 +169,14 @@ create_module()
# look into cmdline and echo $1 back if $1 is set # look into cmdline and echo $1 back if $1 is set
# $1 = value name, case sensitive, for example 'debug' # $1 = value name, case sensitive, for example 'debug'
# cmdline_parameter(){
cmdline_parameter()
{
. /etc/ublinux/config 2>/dev/null || . etc/ublinux/config 2>/dev/null . /etc/ublinux/config 2>/dev/null || . etc/ublinux/config 2>/dev/null
echo -n " $CMDLINE " | cat /proc/cmdline - 2>/dev/null | tr "[:cntrl:]" " " | egrep -m1 -o "(^|[[:space:]])$1([[:space:]]|\$)" | head -1 | tr -d " " echo -n " $CMDLINE " | cat /proc/cmdline - 2>/dev/null | tr "[:cntrl:]" " " | egrep -m1 -o "(^|[[:space:]])$1([[:space:]]|\$)" | head -1 | tr -d " "
} }
# look into cmdline and echo value of $1 option # look into cmdline and echo value of $1 option
# $1 = value name, case sensitive, for example 'changes' # $1 = value name, case sensitive, for example 'changes'
# cmdline_value(){
cmdline_value()
{
. /etc/ublinux/config 2>/dev/null || . etc/ublinux/config 2>/dev/null . /etc/ublinux/config 2>/dev/null || . etc/ublinux/config 2>/dev/null
echo -n " $CMDLINE " | cat /proc/cmdline - 2>/dev/null | tr "[:cntrl:]" " " | egrep -m1 -o "(^|[[:space:]])$1=[^[:space:]]+" | head -1 | cut -d "=" -f 2- echo -n " $CMDLINE " | cat /proc/cmdline - 2>/dev/null | tr "[:cntrl:]" " " | egrep -m1 -o "(^|[[:space:]])$1=[^[:space:]]+" | head -1 | cut -d "=" -f 2-
} }
@ -200,9 +186,7 @@ cmdline_value()
# is already started, not during live setup # is already started, not during live setup
# $1 = mounted module full path # $1 = mounted module full path
# $2..$n = optional arguments for the scripts, eg. 'start' # $2..$n = optional arguments for the scripts, eg. 'start'
# find_n_run_scripts(){
find_n_run_scripts()
{
debug_log "find_n_run_scripts" "$*" debug_log "find_n_run_scripts" "$*"
local MOD local MOD
@ -228,8 +212,7 @@ find_n_run_scripts()
} }
# test if the script is started by root user. If not, exit # test if the script is started by root user. If not, exit
allow_only_root() allow_only_root(){
{
if [ "0$UID" -ne 0 ]; then if [ "0$UID" -ne 0 ]; then
echo "Only root can run $(basename $0)"; exit 1 echo "Only root can run $(basename $0)"; exit 1
fi fi
@ -240,8 +223,7 @@ allow_only_root()
# Hotkeys functions # # Hotkeys functions #
##################### #####################
show_run() show_run(){
{
DE=$(detectDE) DE=$(detectDE)
if [ "$DE" = "kde" -o "$DE" = "plasma" ] ; then if [ "$DE" = "kde" -o "$DE" = "plasma" ] ; then
krunner krunner
@ -254,8 +236,7 @@ show_run()
fi fi
} }
lock_session() lock_session(){
{
DE=$(detectDE) DE=$(detectDE)
# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock # qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock
xterm -geometry 0x0+1+1 -e "dbus-send --dest=org.freedesktop.ScreenSaver --print-reply /ScreenSaver org.freedesktop.ScreenSaver.Lock" xterm -geometry 0x0+1+1 -e "dbus-send --dest=org.freedesktop.ScreenSaver --print-reply /ScreenSaver org.freedesktop.ScreenSaver.Lock"
@ -266,13 +247,11 @@ lock_session()
fi fi
} }
xss_slideshow() xss_slideshow(){
{
chbg -xscreensaver -randomize -R -effect 1 -interval 0.2 -mode smart -max_size 100 -R /usr/share/ublinux/screensaver/Default >/dev/null 2>&1 chbg -xscreensaver -randomize -R -effect 1 -interval 0.2 -mode smart -max_size 100 -R /usr/share/ublinux/screensaver/Default >/dev/null 2>&1
} }
xss_heartbeat() xss_heartbeat(){
{
. /usr/lib/ublinux/os-config . /usr/lib/ublinux/os-config
. /etc/ublinux/config 2>/dev/null . /etc/ublinux/config 2>/dev/null
SSAVERBLOCKAPPS="$(echo "$SSAVERBLOCKAPPS"| tr ',; ' '|' )" SSAVERBLOCKAPPS="$(echo "$SSAVERBLOCKAPPS"| tr ',; ' '|' )"
@ -280,8 +259,7 @@ xss_heartbeat()
} }
show_hotkeys() show_hotkeys(){
{
MSG1=$(gettext -s "UBLinux magic keys:") MSG1=$(gettext -s "UBLinux magic keys:")
echo "$MSG1" > /tmp/listkeys echo "$MSG1" > /tmp/listkeys
echo " " >> /tmp/listkeys echo " " >> /tmp/listkeys
@ -292,8 +270,7 @@ show_hotkeys()
rm -f /tmp/listkeys rm -f /tmp/listkeys
} }
show_info() show_info(){
{
. /etc/os-release . /etc/os-release
LIVECDNAME="$NAME" LIVECDNAME="$NAME"
UPTIME=$(uptime | awk '{print "time - "$1", up - "$3}') UPTIME=$(uptime | awk '{print "time - "$1", up - "$3}')
@ -329,8 +306,7 @@ show_info()
rm -f $HOME/info.txt rm -f $HOME/info.txt
} }
touchpad() touchpad(){
{
MSG2=$(gettext -s "Touchpad disabled, WIN+t to enable again") MSG2=$(gettext -s "Touchpad disabled, WIN+t to enable again")
if [ $(synclient -l | grep TouchpadOff | awk '{ print $3 }') -eq 0 ] ;then if [ $(synclient -l | grep TouchpadOff | awk '{ print $3 }') -eq 0 ] ;then
synclient TouchpadOff=1 synclient TouchpadOff=1
@ -340,8 +316,7 @@ touchpad()
fi fi
} }
rfswitch() rfswitch(){
{
MSG3=$(gettext -s "bluetooth, WI-FI interfaces disabled, WIN+w to enable again") MSG3=$(gettext -s "bluetooth, WI-FI interfaces disabled, WIN+w to enable again")
rfkill list | grep yes rfkill list | grep yes
if [ $? -eq 0 ] ;then if [ $? -eq 0 ] ;then
@ -352,8 +327,7 @@ rfswitch()
fi fi
} }
recordvideo() recordvideo(){
{
MSG1=$(gettext -s "Recording are stoped, please wait for encoding") MSG1=$(gettext -s "Recording are stoped, please wait for encoding")
MSG2=$(gettext -s "Video are encoded and placed to your home dir") MSG2=$(gettext -s "Video are encoded and placed to your home dir")
RMDOPT= RMDOPT=
@ -369,8 +343,7 @@ recordvideo()
fi fi
} }
show_network() show_network(){
{
echo "netstat --inet" > ~/network.txt echo "netstat --inet" > ~/network.txt
netstat --inet >> ~/network.txt netstat --inet >> ~/network.txt
echo -e "\nlsof -i" >> ~/network.txt echo -e "\nlsof -i" >> ~/network.txt
@ -379,32 +352,27 @@ show_network()
rm -f $HOME/info.txt rm -f $HOME/info.txt
} }
google_search() google_search(){
{
xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "http://www.google.ru/search?hl=ru&q=" $1}' | xargs firefox -new-tab xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "http://www.google.ru/search?hl=ru&q=" $1}' | xargs firefox -new-tab
} }
translate_en_rus() translate_en_rus(){
{
[ "$1" == "passive" ] && mdialog --passivepopup "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)" [ "$1" == "passive" ] && mdialog --passivepopup "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
[ "$1" == "msgbox" ] && mdialog --msgbox "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)" [ "$1" == "msgbox" ] && mdialog --msgbox "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
[ "$1" == "firefox" ] && xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=en#en|ru|" $1}' | xargs firefox -new-tab [ "$1" == "firefox" ] && xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=en#en|ru|" $1}' | xargs firefox -new-tab
} }
translate_rus_en() translate_rus_en(){
{
[ "$1" == "passive" ] && mdialog --passivepopup "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)" [ "$1" == "passive" ] && mdialog --passivepopup "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
[ "$1" == "msgbox" ] && mdialog --msgbox "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)" [ "$1" == "msgbox" ] && mdialog --msgbox "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
[ "$1" == "firefox" ] && xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=ru#ru|en|" $1}' | xargs firefox -new-tab [ "$1" == "firefox" ] && xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=ru#ru|en|" $1}' | xargs firefox -new-tab
} }
open_url() open_url(){
{
xclip -o | sed -n 1p | xargs firefox -new-tab xclip -o | sed -n 1p | xargs firefox -new-tab
} }
userkeys() userkeys(){
{
string=$(head -n $1 $HOME/.userkeys | tail -n 1) string=$(head -n $1 $HOME/.userkeys | tail -n 1)
TMPFILE=$HOME/tmp/userkey-$(id -un) TMPFILE=$HOME/tmp/userkey-$(id -un)
> $TMPFILE > $TMPFILE
@ -415,8 +383,7 @@ userkeys()
rm -f $TMPFILE rm -f $TMPFILE
} }
screen_scale() screen_scale(){
{
scale_[1]=1x1 scale_[1]=1x1
scale_[2]=1x1.2 scale_[2]=1x1.2
scale_[3]=1.2x1.2 scale_[3]=1.2x1.2

@ -27,7 +27,7 @@ debug_mode "$0" "$@"
if systemctl --quiet is-enabled lightdm.service &>/dev/null || systemctl --quiet is-enabled lightdm-plymouth.service &>/dev/null; then if systemctl --quiet is-enabled lightdm.service &>/dev/null || systemctl --quiet is-enabled lightdm-plymouth.service &>/dev/null; then
for ID_DISPLAY in /var/run/lightdm/root/:*; do for ID_DISPLAY in /var/run/lightdm/root/:*; do
FILE_X11VNC_SERVICE="/usr/lib/systemd/system/x11vnc-ublinux:${ID_DISPLAY##*:}.service" FILE_X11VNC_SERVICE="/usr/lib/systemd/system/x11vnc-ublinux:${ID_DISPLAY##*:}.service"
OPTION_DISPLAY="-display :${ID_DISPLAY##*:} -auth /var/run/lightdm/root/:${ID_DISPLAY##*:}" OPTION_DISPLAY="-display WAIT:${ID_DISPLAY##*:} -auth /var/run/lightdm/root/:${ID_DISPLAY##*:}"
OPTION_LOG="-o /var/log/x11vnc-ublinux:${ID_DISPLAY##*:}.log" OPTION_LOG="-o /var/log/x11vnc-ublinux:${ID_DISPLAY##*:}.log"
OPTION_PORT="-autoport 590${ID_DISPLAY##*:}" OPTION_PORT="-autoport 590${ID_DISPLAY##*:}"
mkdir -p "${FILE_X11VNC_SERVICE%/*}" mkdir -p "${FILE_X11VNC_SERVICE%/*}"

@ -19,6 +19,9 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ ${DISPLAYMANAGER} == "none" ]] && exit [[ ${DISPLAYMANAGER} == "none" ]] && exit
[[ -n ${VGADRV_AUTO} || -n ${XORG_EXT} || -n ${XORG_MONITOR[@]} ]] && mkdir -p /etc/X11/xorg.conf.d
rm -f /etc/X11/xorg.conf.d/*-*-ubconfig.conf
# Auto VGA driver loader # Auto VGA driver loader
if [[ -n ${VGADRV_AUTO} ]]; then if [[ -n ${VGADRV_AUTO} ]]; then
while read LSPCI_DEVICE; do while read LSPCI_DEVICE; do
@ -38,15 +41,40 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
#modprobe drm #modprobe drm
#echo -e nvidia_drm\\nvidia_uvm\\nnvidia_modeset > usr/lib/modules-load.d/nvidia-dkms.conf #echo -e nvidia_drm\\nvidia_uvm\\nnvidia_modeset > usr/lib/modules-load.d/nvidia-dkms.conf
fi fi
else # else
rm -f /etc/X11/xorg.conf.d/20-nvidia-ubconfig.conf #rm -f /etc/udev/rules.d/70-nvidia-ubconfig.rules
rm -f /etc/udev/rules.d/70-nvidia-ubconfig.rules
fi fi
#[ ! -z "$VGAID" ] && grep -q $VGAID /usr/share/ublinux/hwdata/deleteconf && rm -f /etc/X11/xorg.conf #[ ! -z "$VGAID" ] && grep -q $VGAID /usr/share/ublinux/hwdata/deleteconf && rm -f /etc/X11/xorg.conf
[[ -n "${DELETE_XORG_CONF}" ]] && rm -f /etc/X11/xorg.conf [[ -n "${DELETE_XORG_CONF}" ]] && rm -f /etc/X11/xorg.conf
## Управление дополнительными возможностями XORG
if [[ -n ${XORG_EXT} ]]; then
while read I_EXT; do
XORG_FILE_EXT="/etc/X11/xorg.conf.d/110-${I_EXT}-ubconfig.conf"
if egrep -iq "^nodpms$" <<< "${I_EXT}"; then
cat > ${XORG_FILE_EXT} <<EOF
Section "Extensions"
Option "DPMS" "Disable"
EndSection
Section "ServerFlags"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
Option "BlankTime" "0"
EndSection
EOF
elif egrep -iq "^dpms$" <<< "${I_EXT}"; then
cat > ${XORG_FILE_EXT} <<EOF
Section "Extensions"
Option "DPMS" "Enable"
EndSection
EOF
fi
done < <(tr ',' '\n' <<< "${XORG_EXT}")
fi
## Parametrs: ## Parametrs:
## cvt | gtf | reduced|r | dpms | nodpms | enable | disable | ignore | primary | ## cvt | gtf | reduced|r | dpms | nodpms | enable | disable | ignore | primary |
@ -54,7 +82,7 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## rotate:normal | rotate:left | rotate:right | rotate:invert ## rotate:normal | rotate:left | rotate:right | rotate:invert
grep -q xres= /proc/cmdline && XORG_MONITOR=$(cat /proc/cmdline | awk -F xres= '{print $2}' | awk '{print $1}') grep -q xres= /proc/cmdline && XORG_MONITOR=$(cat /proc/cmdline | awk -F xres= '{print $2}' | awk '{print $1}')
if [[ "${SETXORGRES}" != "no" ]] && [[ -n "${XORG_MONITOR[@]}" ]]; then if [[ "${SETXORGRES}" != "no" ]] && [[ -n "${XORG_MONITOR[@]}" ]]; then
XORG_FILE_MONITOR="/etc/X11/xorg.conf.d/10-monitor.conf" XORG_FILE_MONITOR="/etc/X11/xorg.conf.d/120-monitor-ubconfig.conf"
for VIDEO_PORT in "${!XORG_MONITOR[@]}"; do for VIDEO_PORT in "${!XORG_MONITOR[@]}"; do
SOFT_MODELINE="gtf" SOFT_MODELINE="gtf"
SOFT_MODELINE_R= SOFT_MODELINE_R=
@ -116,9 +144,11 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -n ${XORG_STR} ]] && echo -e "${XORG_STR}" > "${XORG_FILE_MONITOR}" [[ -n ${XORG_STR} ]] && echo -e "${XORG_STR}" > "${XORG_FILE_MONITOR}"
fi fi
if [ "$MKKBDFXORG" != "no" ] ;then
if [[ ${MKKBDFXORG} != "no" ]] ;then
XORG_FILE_KEYBOARD="/etc/X11/xorg.conf.d/130-keyboard-ubconfig.conf"
if ! grep -sqi XkbOptions /etc/X11/xorg.conf; then if ! grep -sqi XkbOptions /etc/X11/xorg.conf; then
cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<EOF cat > ${XORG_FILE_KEYBOARD} <<EOF
Section "InputClass" Section "InputClass"
Identifier "system-keyboard" Identifier "system-keyboard"
MatchIsKeyboard "on" MatchIsKeyboard "on"

@ -31,6 +31,8 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -z ${ONLY_ONE_USER} && ${PASS_ADMUID} == ${NOSECUREROOTPASSWD} && ${PASS_ADMUID} == ${DEFAULTPASSWD} ]] && AUTOLOGINUSER=yes [[ -z ${ONLY_ONE_USER} && ${PASS_ADMUID} == ${NOSECUREROOTPASSWD} && ${PASS_ADMUID} == ${DEFAULTPASSWD} ]] && AUTOLOGINUSER=yes
fi fi
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf"
FILE_LIGHTDM_AUTOLOGIN_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/100-autologin-ubconfig.conf"
if [[ -z "${AUTOLOGINUSER}" ]]; then if [[ -z "${AUTOLOGINUSER}" ]]; then
unset AUTOLOGINUSER unset AUTOLOGINUSER
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*//g" ${ROOTFS}/etc/X11/gdm/custom.conf [[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*//g" ${ROOTFS}/etc/X11/gdm/custom.conf
@ -39,9 +41,9 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/slim.conf [[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/slim.conf
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/X11/slim/slim.conf [[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/X11/slim/slim.conf
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^autologin=.*//g" ${ROOTFS}/etc/lxdm/lxdm.conf [[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^autologin=.*//g" ${ROOTFS}/etc/lxdm/lxdm.conf
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then if [[ -f ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
rm -f ${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf rm -f "${FILE_LIGHTDM_AUTOLOGIN_CONF}"
fi fi
else else
if [[ ${AUTOLOGINUSER} == yes && -z ${DISPLAYMANAGER_DEFAULTUSER} ]]; then if [[ ${AUTOLOGINUSER} == yes && -z ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
@ -58,10 +60,10 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/slim.conf [[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/slim.conf
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/slim/slim.conf [[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/slim/slim.conf
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^#autologin=.*/autologin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lxdm/lxdm.conf [[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^#autologin=.*/autologin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lxdm/lxdm.conf
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then if [[ -f ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
mkdir -p ${ROOTFS}/etc/lightdm/lightdm.conf.d mkdir -p ${{FILE_LIGHTDM_AUTOLOGIN_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf" cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_AUTOLOGIN_CONF}"
[Seat:*] [Seat:*]
autologin-user=${AUTOLOGINUSER} autologin-user=${AUTOLOGINUSER}
EOF EOF

@ -23,23 +23,23 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
switch3don(){ switch3don(){
echo "COMPOSITING_SERVER_START=no" >$SYSCONF/compositing-server echo "COMPOSITING_SERVER_START=no" >${SYSCONF}/compositing-server
#Gnome-shell does not supports compiz, so turn on it only in classic mode and only after desktop started #Gnome-shell does not supports compiz, so turn on it only in classic mode and only after desktop started
if [ -x usr/bin/gnome-shell ] ;then if [ -x usr/bin/gnome-shell ] ;then
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >$SYSCONF/compositing-wm echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm
sed -i /COMPOSITING_WM_START/d $SYSCONF/config sed -i /COMPOSITING_WM_START/d ${SYSCONF}/config
echo COMPOSITING_WM_START=yes >> $SYSCONF/config echo COMPOSITING_WM_START=yes >> ${SYSCONF}/config
else else
echo -e "COMPOSITING_WM_START=yes\nCOMPOSITING_WM=compiz-fusion" >$SYSCONF/compositing-wm echo -e "COMPOSITING_WM_START=yes\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm
fi fi
# [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^ *Xconfig::glx::write({});$/# Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm # [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^ *Xconfig::glx::write({});$/# Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm
[ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=false/ etc/xdg/kwinrc [ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=false/ etc/xdg/kwinrc
} }
switch3doff(){ switch3doff(){
echo "COMPOSITING_SERVER_START=no" >$SYSCONF/compositing-server echo "COMPOSITING_SERVER_START=no" >${SYSCONF}/compositing-server
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >$SYSCONF/compositing-wm echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm
sed -i /COMPOSITING_WM_START/d $SYSCONF/config sed -i /COMPOSITING_WM_START/d ${SYSCONF}/config
# [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^# Xconfig::glx::write({});$/ Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm # [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^# Xconfig::glx::write({});$/ Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm
[ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=true/ etc/xdg/kwinrc [ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=true/ etc/xdg/kwinrc
} }
@ -48,8 +48,8 @@ setupdm(){
if [ -f lib/systemd/system/$1.service ] ;then if [ -f lib/systemd/system/$1.service ] ;then
ln -sf /lib/systemd/system/$1.service etc/systemd/system/display-manager.service ln -sf /lib/systemd/system/$1.service etc/systemd/system/display-manager.service
ln -sf /lib/systemd/system/graphical.target etc/systemd/system/default.target ln -sf /lib/systemd/system/graphical.target etc/systemd/system/default.target
[[ -f $SYSCONF/desktop ]] && sed -i /DISPLAYMANAGER=/d $SYSCONF/desktop [[ -f ${SYSCONF}/desktop ]] && sed -i /DISPLAYMANAGER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER=${1%%-plymouth*}" >> $SYSCONF/desktop echo "DISPLAYMANAGER=${1%%-plymouth*}" >> ${SYSCONF}/desktop
case ${1%%-plymouth*} in case ${1%%-plymouth*} in
lightdm) lightdm)
# FIX lightdm-greater # FIX lightdm-greater
@ -63,8 +63,8 @@ setupdm(){
setupde(){ setupde(){
if [[ -f usr/share/xsessions/$1.desktop ]] ;then if [[ -f usr/share/xsessions/$1.desktop ]] ;then
sed -i /DESKTOP=/d $SYSCONF/desktop sed -i /DESKTOP=/d ${SYSCONF}/desktop
echo "DESKTOP=$1" >> $SYSCONF/desktop echo "DESKTOP=$1" >> ${SYSCONF}/desktop
# ln -sf $1.desktop usr/share/xsessions/default.desktop # ln -sf $1.desktop usr/share/xsessions/default.desktop
# cat > usr/share/xsessions/default.desktop <<EOF # cat > usr/share/xsessions/default.desktop <<EOF
#[Desktop Entry] #[Desktop Entry]
@ -98,11 +98,11 @@ disabledmde(){
[ -f etc/inittab ] && sed -i 's/id:.:initdefault:/id:3:initdefault:/' etc/inittab [ -f etc/inittab ] && sed -i 's/id:.:initdefault:/id:3:initdefault:/' etc/inittab
ln -sf /lib/systemd/system/multi-user.target etc/systemd/system/default.target ln -sf /lib/systemd/system/multi-user.target etc/systemd/system/default.target
DISPLAYMANAGER=none DISPLAYMANAGER=none
sed -i /DISPLAYMANAGER=/d $SYSCONF/desktop sed -i /DISPLAYMANAGER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER=$DISPLAYMANAGER" >> $SYSCONF/desktop echo "DISPLAYMANAGER=$DISPLAYMANAGER" >> ${SYSCONF}/desktop
DESKTOP=none DESKTOP=none
sed -i /DESKTOP=/d $SYSCONF/desktop sed -i /DESKTOP=/d ${SYSCONF}/desktop
echo "DESKTOP=$DESKTOP" >> $SYSCONF/desktop echo "DESKTOP=$DESKTOP" >> ${SYSCONF}/desktop
} }
[ "$(cmdline_parameter 3ddesktop)" ] && switch3don [ "$(cmdline_parameter 3ddesktop)" ] && switch3don
@ -131,8 +131,8 @@ for i in $(cmdline_value desktop | tr , " " ) ;do
xdm) DISPLAYMANAGER=xdm ;; xdm) DISPLAYMANAGER=xdm ;;
lxdm) DISPLAYMANAGER=lxdm ;; lxdm) DISPLAYMANAGER=lxdm ;;
sddm) DISPLAYMANAGER=sddm ;; sddm) DISPLAYMANAGER=sddm ;;
lan) sed -i s/ONBOOT=.*/ONBOOT=yes/ $SYSCONF/network-scripts/ifcfg-eth0 2>/dev/null ;; lan) sed -i s/ONBOOT=.*/ONBOOT=yes/ ${SYSCONF}/network-scripts/ifcfg-eth0 2>/dev/null ;;
nolan) sed -i s/ONBOOT=.*/ONBOOT=no/ $SYSCONF/network-scripts/ifcfg-eth0 2>/dev/null ;; nolan) sed -i s/ONBOOT=.*/ONBOOT=no/ ${SYSCONF}/network-scripts/ifcfg-eth0 2>/dev/null ;;
*) DESKTOP=${i,,} ;; *) DESKTOP=${i,,} ;;
esac esac
done done
@ -144,7 +144,6 @@ done
[[ -z "${DISPLAYMANAGER}" ]] && for i in slim xdm lxdm kdm gdm sddm lightdm; do [[ -z "${DISPLAYMANAGER}" ]] && for i in slim xdm lxdm kdm gdm sddm lightdm; do
[[ -f lib/systemd/system/$i.service ]] && DISPLAYMANAGER=$i [[ -f lib/systemd/system/$i.service ]] && DISPLAYMANAGER=$i
done done
#echo "DISPLAYMANAGER=$DISPLAYMANAGER" >> $SYSCONF/test
[[ -f lib/systemd/system/${DISPLAYMANAGER}-plymouth.service ]] && setupdm ${DISPLAYMANAGER}-plymouth && rm -f lib/systemd/system/${DISPLAYMANAGER}.service || setupdm ${DISPLAYMANAGER} [[ -f lib/systemd/system/${DISPLAYMANAGER}-plymouth.service ]] && setupdm ${DISPLAYMANAGER}-plymouth && rm -f lib/systemd/system/${DISPLAYMANAGER}.service || setupdm ${DISPLAYMANAGER}
# Autodetect Display Environment # Autodetect Display Environment
@ -159,12 +158,12 @@ done
# Autodetect FirstStart # Autodetect FirstStart
# Если пароли по умолчанию ublinux, то FirstStart # Если пароли по умолчанию ublinux, то FirstStart
grep -q "^root:${DEFAULTROOTPASSWD}:" etc/shadow && grep -q "^$(cat etc/passwd | grep ".*:x:${ADMUID}:" | cut -d: -f1):${DEFAULTPASSWD}:" etc/shadow && touch ${SYSCONF}/firststart grep -q "^root:${DEFAULTROOTPASSWD}:" etc/shadow && grep -q "^$(cat etc/passwd | grep ".*:x:${ADMUID}:" | cut -d: -f1):${DEFAULTPASSWD}:" etc/shadow && touch ${SYSCONF}/firststart || rm -f ${SYSCONF}/firststart
# Set default user to Display Manager # Set default user to Display Manager
if [[ "${DISPLAYMANAGER}" == "lightdm" && ${DISPLAYMANAGER_DEFAULTUSER} ]]; then if [[ "${DISPLAYMANAGER}" == "lightdm" && ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
sed -i /DISPLAYMANAGER_DEFAULTUSER=/d $SYSCONF/desktop sed -i /DISPLAYMANAGER_DEFAULTUSER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> $SYSCONF/desktop echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> ${SYSCONF}/desktop
mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/ mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/
echo "[greeter]" > var/lib/lightdm/.cache/lightdm-gtk-greeter/state echo "[greeter]" > var/lib/lightdm/.cache/lightdm-gtk-greeter/state
echo "last-user=${DISPLAYMANAGER_DEFAULTUSER}" >> var/lib/lightdm/.cache/lightdm-gtk-greeter/state echo "last-user=${DISPLAYMANAGER_DEFAULTUSER}" >> var/lib/lightdm/.cache/lightdm-gtk-greeter/state
@ -173,5 +172,3 @@ done
chmod 755 var/lib/lightdm/.cache/lightdm-gtk-greeter/ chmod 755 var/lib/lightdm/.cache/lightdm-gtk-greeter/
chmod 644 var/lib/lightdm/.cache/lightdm-gtk-greeter/state chmod 644 var/lib/lightdm/.cache/lightdm-gtk-greeter/state
fi fi

@ -0,0 +1,105 @@
#!/bin/bash
#
# Initial script for Live operating system
# This script are launching before starting init from linux-live script.
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs
ENABLED=yes
[[ ${ENABLED} != "yes" ]] && exit 0
DEBUGMODE=no
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
exec_xorg_dpi(){
FILE_LIGHTDM_GTK_GREATER_CONF="${ROOTFS}/etc/lightdm/lightdm-gtk-greeter.conf.d/100-hidpi-ubconfig.conf"
rm -f ${FILE_LIGHTDM_GTK_GREATER_CONF}
if [[ -n ${XORG_DPI} ]]; then
## Настрока XOrg DPI
GDK_SCALE=1
GDK_DPI_SCALE=0
ELM_SCALE=1 # Масштабирование для UI Elementary
QT_FONT_DPI=96 #
#PLASMA_USE_QT_SCALING=0 # Разрешить Plasma использовать настройки QT по масштабированию
#QT_AUTO_SCREEN_SCALE_FACTOR=0 # Автоматическое масштабирование, отключать при масштабировании вручную
#QT_SCALE_FACTOR=2 # Масштабирование вручную, глобально для всех экранов
#QT_SCREEN_SCALE_FACTORS="2;2;2;2" # Масштабирование вручную для каждого экрана
if [[ ${XORG_DPI} == @(no|disable) ]]; then
grep -q "^\s*GDK_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*GDK_SCALE=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
grep -q "^\s*GDK_DPI_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*GDK_DPI_SCALE=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
grep -q "^\s*ELM_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*ELM_SCALE=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
grep -q "^\s*QT_FONT_DPI=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*QT_FONT_DPI=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
#grep -q "^\s*PLASMA_USE_QT_SCALING=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*PLASMA_USE_QT_SCALING=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
#grep -q "^\s*QT_AUTO_SCREEN_SCALE_FACTOR=" ${ROOTFS}/etc/environment 2>/dev/null && grep -v "^\s*QT_AUTO_SCREEN_SCALE_FACTOR=" ${ROOTFS}/etc/environment > ${ROOTFS}/etc/environment
return 0
elif [[ ${XORG_DPI} == auto ]]; then
XORG_DPI=192
fi
if [[ ${XORG_DPI} == @(192|4K) ]]; then
XORG_DPI=192
GDK_SCALE=2
GDK_DPI_SCALE=0.5
ELM_SCALE=1.5
LIGHTDM_CURSOR_MOUSE=48
QT_FONT_DPI=192
#PLASMA_USE_QT_SCALING=1
#QT_AUTO_SCREEN_SCALE_FACTOR=1
elif [[ ${XORG_DPI} == @(144|2K) ]]; then
XORG_DPI=144
GDK_SCALE=2
GDK_DPI_SCALE=0.5
ELM_SCALE=1.5
LIGHTDM_CURSOR_MOUSE=32
QT_FONT_DPI=144
#PLASMA_USE_QT_SCALING=1
#QT_AUTO_SCREEN_SCALE_FACTOR=1
fi
grep -q "^\s*GDK_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null \
&& sed -E "s/^\s*(GDK_SCALE=).*/\1${GDK_SCALE}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
|| sed -e '$a\' -e "GDK_SCALE=${GDK_SCALE}" -i ${ROOTFS}/etc/environment 2>/dev/null
grep -q "^\s*GDK_DPI_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null \
&& sed -E "s/^\s*(GDK_DPI_SCALE=).*/\1${GDK_DPI_SCALE}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
|| sed -e '$a\' -e "GDK_DPI_SCALE=${GDK_DPI_SCALE}" -i ${ROOTFS}/etc/environment 2>/dev/null
grep -q "^\s*ELM_SCALE=" ${ROOTFS}/etc/environment 2>/dev/null \
&& sed -E "s/^\s*(ELM_SCALE=).*/\1${ELM_SCALE}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
|| sed -e '$a\' -e "ELM_SCALE=${ELM_SCALE}" -i ${ROOTFS}/etc/environment 2>/dev/null
grep -q "^\s*QT_FONT_DPI=" ${ROOTFS}/etc/environment 2>/dev/null \
&& sed -E "s/^\s*(QT_FONT_DPI=).*/\1${QT_FONT_DPI}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
|| sed -e '$a\' -e "QT_FONT_DPI=${QT_FONT_DPI}" -i ${ROOTFS}/etc/environment 2>/dev/null
#grep -q "^\s*PLASMA_USE_QT_SCALING=" ${ROOTFS}/etc/environment 2>/dev/null \
# && sed -E "s/^\s*(PLASMA_USE_QT_SCALING=).*/\1${PLASMA_USE_QT_SCALING}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
# || sed -e '$a\' -e "PLASMA_USE_QT_SCALING=${PLASMA_USE_QT_SCALING}" -i ${ROOTFS}/etc/environment 2>/dev/null
#grep -q "^\s*QT_AUTO_SCREEN_SCALE_FACTOR=" ${ROOTFS}/etc/environment 2>/dev/null \
# && sed -E "s/^\s*(QT_AUTO_SCREEN_SCALE_FACTOR=).*/\1${QT_AUTO_SCREEN_SCALE_FACTOR}/" -i ${ROOTFS}/etc/environment 2>/dev/null \
# || sed -e '$a\' -e "QT_AUTO_SCREEN_SCALE_FACTOR=${QT_AUTO_SCREEN_SCALE_FACTOR}" -i ${ROOTFS}/etc/environment 2>/dev/null
## Настрока Lightdm DPI
if [[ -d ${ROOTFS}/etc/lightdm ]]; then
mkdir -p "${FILE_LIGHTDM_GTK_GREATER_CONF%/*}"
cat <<EOF > "${FILE_LIGHTDM_GTK_GREATER_CONF}"
[greeter]
cursor-theme-size = ${LIGHTDM_CURSOR_MOUSE}
xft-antialias = true
xft-dpi = ${XORG_DPI}
xft-hintstyle = hintfull
xft-rgba = vrgb
EOF
fi
fi
}
################
##### MAIN #####
################
exec_xorg_dpi $@

@ -0,0 +1,104 @@
#!/usr/bin/env bash
ENABLED=yes
[[ ${ENABLED} != yes ]] && exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
xfce4_hidpi(){
[[ -x /usr/bin/startxfce4 ]] || return 0
if [[ $1 == @(enable|on) ]]; then
xfconf-query --channel xsettings --property /Gdk/WindowScalingFactor --create --type int --set "${SCALE}"
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --create --type int --set "${MOUSE_CURSOR}"
xfconf-query --channel xsettings --property /Xft/DPI --create --type int --set "${XORG_DPI}"
xfconf-query --channel xfwm4 --property /general/theme --create --type string --set "Default-xhdpi"
elif [[ $1 == @(disable|off) ]]; then
xfconf-query --channel xsettings --property /Gdk/WindowScalingFactor --reset
xfconf-query --channel xfwm4 --property /general/theme --reset
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --reset
xfconf-query --channel xsettings --property /Xft/DPI --reset
fi
}
plasma_hidpi(){
[[ -x /usr/bin/plasmashell ]] || return 0
if [[ $1 == @(enable|on) ]]; then
kwriteconfig5 --file kcmfonts --group General --key forceFontDPI "${XORG_DPI}"
kwriteconfig5 --file kcminputrc --group Mouse --key cursorSize "${MOUSE_CURSOR}"
kwriteconfig5 --file kdeglobals --group KScreen --key ScaleFactor "${SCALE}"
kwriteconfig5 --file kdeglobals --group KScreen --key ScreenScaleFactors "${SCALE};${SCALE};${SCALE};${SCALE};"
# ScreenScaleFactors "DP1=2;HDMI1=2;HDMI2=2;VIRTUAL1=2;"
elif [[ $1 == @(disable|off) ]]; then
kwriteconfig5 --file kcmfonts --group General --key forceFontDPI --delete
kwriteconfig5 --file kcminputrc --group Mouse --key cursorSize --delete
kwriteconfig5 --file kdeglobals --group KScreen --key ScaleFactor --delete
kwriteconfig5 --file kdeglobals --group KScreen --key ScreenScaleFactors --delete
fi
}
gnome_hidpi(){
[[ -x /usr/bin/startgnome ]] || return 0
if [[ $1 == @(enable|on) ]]; then
true
elif [[ $1 == @(disable|off) ]]; then
true
fi
}
lxde_hidpi(){
[[ -x /usr/bin/startlxde ]] || return 0
if [[ $1 == @(enable|on) ]]; then
true
elif [[ $1 == @(disable|off) ]]; then
true
fi
}
lxqt_hidpi(){
[[ -x /usr/bin/startlxqt ]] || return 0
if [[ $1 == @(enable|on) ]]; then
true
elif [[ $1 == @(disable|off) ]]; then
true
fi
}
mate_hidpi(){
[[ -x /usr/bin/startmate ]] || return 0
if [[ $1 == @(enable|on) ]]; then
true
elif [[ $1 == @(disable|off) ]]; then
true
fi
}
if [[ -n ${XORG_DPI} ]]; then
if [[ ${XORG_DPI} == @(no|disable) ]]; then
xfce4_hidpi disable
plasma_hidpi disable
gnome_hidpi disable
lxde_hidpi disable
lxqt_hidpi disable
mate_hidpi disable
return 0
elif [[ ${XORG_DPI} == auto ]]; then
XORG_DPI=192
MOUSE_CURSOR=48
SCALE=2
elif [[ ${XORG_DPI} == @(192|4K) ]]; then
XORG_DPI=192
MOUSE_CURSOR=48
SCALE=2
elif [[ ${XORG_DPI} == @(144|2K) ]]; then
XORG_DPI=144
MOUSE_CURSOR=32
SCALE=1.5
else
# Пользовательское значение XORG_DPI, остальные велечины высчитываются
MOUSE_CURSOR=28
SCALE=1
fi
xfce4_hidpi enable
plasma_hidpi enable
gnome_hidpi enable
lxde_hidpi enable
lxqt_hidpi enable
mate_hidpi enable
fi

@ -30,7 +30,7 @@
[/etc/ublinux/config] [/etc/ublinux/config]
## Config verison ## Config verison
## Версия конфигурации ## Версия конфигурации
VERSION=2.20 VERSION=2.21
## Additional boot parameters ## Additional boot parameters
## Дополнительные параметры загрузки, только для управления модулями ## Дополнительные параметры загрузки, только для управления модулями
@ -62,14 +62,14 @@ NEEDEDUSERS='superadmin:1000:x:Администратор'
## Пользователи системы ## Пользователи системы
## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x ## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x
## user_name # Имя пользователя ## user_name # Имя пользователя
## uid # UID пользователя, если необходимо автоматически расчитавыть, то оставить пустым или 'x' ## uid # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное ## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное
## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name' ## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name'
## extra_groups # Дополнительные группы пользователя ## extra_groups # Дополнительные группы пользователя
## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group' ## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group'
## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD' ## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD'
## ADDUSER[superadmin:1000:Администратор:]=x ## ADDUSER[superadmin:1000:Администратор:]=x
## ADDUSER[user-1:x:Пользователь-1::vboxusers,libvirt]=passsword_hash ## ADDUSER[user-1:x:Пользователь-1::vboxusers,libvirt]='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
# Помещать пользователя с ID 1000 в группу Администраторов whell # Помещать пользователя с ID 1000 в группу Администраторов whell
#ADDADM=yes #ADDADM=yes
@ -242,15 +242,16 @@ GRUB_BOOT_SILENT="splash"
## Аргументы командной строки для загрузки ядра Linux ## Аргументы командной строки для загрузки ядра Linux
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" ## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Возможные параметры GRUB_CMDLINE_LINUX: ## Возможные параметры GRUB_CMDLINE_LINUX:
## modprobe.blacklist=nouveau # Отключить автоматическую загрузку свободного драйвера nouveau для видеоадаптера NVIDIA
## nomodeset # Отключить выбор и загрузку ядром драйверов видео ## nomodeset # Отключить выбор и загрузку ядром драйверов видео
## i915.enable_dc=0 # Отключить управление питанием графического процессора ## i915.enable_dc=0 # Отключить управление питанием графического процессора
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием ## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна ## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage ## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage
## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel ## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel
## snd-intel-dspcfg.dsp_driver=3 ## snd-intel-dspcfg.dsp_driver=3
## security=apparmor ## security=apparmor
## usbcore.autosuspend=-1 ## Отключить авто засыпание USB устройств в режиме suspend
GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
################################################################################ ################################################################################
@ -291,8 +292,8 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ] ## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ]
## DOMAIN[client]=realmd_sssd ## DOMAIN[client]=realmd_sssd
## Пользователь имеющие права ввода в домен. ## Пользователь имеющий права ввода в домен.
## Применяется если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочнице где невозможно сохранить ## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить
## Пароль кодировать в base64: echo 'password' | base64 ## Пароль кодировать в base64: echo 'password' | base64
## DOMAIN[admanger]=USER_ADMIN:password_base64' ## DOMAIN[admanger]=USER_ADMIN:password_base64'
## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK ## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK
@ -303,7 +304,7 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh ## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh
## DOMAIN[group:ssh]=sudoers@ublinux.ru ## DOMAIN[group:ssh]=sudoers@ublinux.ru
## Пользователи которым разрешён вход в домен, ограничение ## Ограничить пользователей, которым разрешён вход в домен
## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3 ## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3
## REALM_PERMIT[group]=ublinux_group@ublinux.ru ## REALM_PERMIT[group]=ublinux_group@ublinux.ru
## REALM_PERMIT[user]=user-1@ublinux.ru ## REALM_PERMIT[user]=user-1@ublinux.ru
@ -368,7 +369,7 @@ IPV6=no
## Серверы времени ## Серверы времени
## NTPSERVERS=dhcp|default|stop|$VALUE ## NTPSERVERS=dhcp|default|stop|$VALUE
## =dhcp # Выбрать сервер времени предложенный DHCP ## =dhcp # Выбрать сервер времени предложенный DHCP
## =default # Выбрать сервера времени по умолчанияю: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org ## =default # Выбрать сервера времени по умолчанию: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## =stop # Отключить NTP синхронизацию принудительно ## =stop # Отключить NTP синхронизацию принудительно
## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';' ## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';'
## не задано # Никаких действий не предпринимается ## не задано # Никаких действий не предпринимается
@ -421,9 +422,9 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила разрешения. /etc/security/access.conf ## Управление доступом в систему, правила разрешения. /etc/security/access.conf
## Предостережение: порядок правил имеет значение. Проверяется последовательно и будет применено первое подходящее правило ## Предостережение: порядок правил имеет значение. Проверяется последовательно и будет применено первое подходящее правило
## Первыми обрабатываются привила ACCESS_ALLOWED_LOGIN, после правила ACCESS_DENIED_LOGIN ## Первыми обрабатываются правила ACCESS_ALLOWED_LOGIN, после правила ACCESS_DENIED_LOGIN
## ACCESS_ALLOWED_LOGIN=rule_1,rule_2,rule_n ## ACCESS_ALLOWED_LOGIN=rule_1,rule_2,rule_n
## Формат привила: users/groups:origins ## Формат правила: users/groups:origins
## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL ## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL
## originsсписок TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL ## originsсписок TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL
## root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 vc/1 # Пользователю root разрешен доступ через cron, X11 терминал :0, tty1, ..., tty6, vc/1 ## root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 vc/1 # Пользователю root разрешен доступ через cron, X11 терминал :0, tty1, ..., tty6, vc/1
@ -433,7 +434,7 @@ NSSWITCHWINBIND=yes
## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org ## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org
## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ ## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ
## @usergroup@@hostgroup:ALL # Членам группы usergroup и группы хостов hostgroup разрешен доступ ## @usergroup@@hostgroup:ALL # Членам группы usergroup и группы хостов hostgroup разрешен доступ
## DOMAIN.ORG\Domain Admins:ALL # Пользователя входящих в группу "Domain Admins" домена DOMAIN.ORG разрешен доступ ## DOMAIN.ORG\Domain Admins:ALL # Пользователям входящих в группу "Domain Admins" домена DOMAIN.ORG разрешен доступ
## (wheel):ALL # Членам группы wheel разрешен доступ ## (wheel):ALL # Членам группы wheel разрешен доступ
## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально ## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально
## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети ## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети
@ -441,7 +442,7 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила блокировки. /etc/security/access.conf ## Управление доступом в систему, правила блокировки. /etc/security/access.conf
## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n ## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n
## Rules: ## Правила (rule_n):
## root:ALL # Пользователю root должно быть отказано в доступе из всех источников ## root:ALL # Пользователю root должно быть отказано в доступе из всех источников
## root:ALL EXCEPT LOCAL # Запретить root вход через сеть ## root:ALL EXCEPT LOCAL # Запретить root вход через сеть
## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel ## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel
@ -491,7 +492,7 @@ NSSWITCHWINBIND=yes
## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1 ## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1
## Files: ## Files:
## files # Имена файлов разделённые: , или пробелом или ; ## files # Имена файлов разделённые: , или пробелом или ;
## all # Еквивалентно =gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk ## all # Эквивалентно =gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
## ACCESS_DENIED_INTERPRETER=all ## ACCESS_DENIED_INTERPRETER=all
## ACCESS_DENIED_INTERPRETER[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk ## ACCESS_DENIED_INTERPRETER[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
@ -547,7 +548,7 @@ NSSWITCHWINBIND=yes
## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение ## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение
## numbers # Произвольный номер состоящий только из цифр ## numbers # Произвольный номер состоящий только из цифр
## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер. ## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер.
## <project_name> # Имя буквенно проекта, не обязательное поле ## <project_name> # Имя проекта, не обязательное поле
## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte) ## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte) ## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение ## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение
@ -569,7 +570,7 @@ NSSWITCHWINBIND=yes
## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page ## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page
## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m ## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m
## Показать статус и используемые ограничения: systemctl status user.slice --no-page ## Показать статус и используемые ограничения: systemctl status user.slice --no-page
## Еденицы измерения: %, K, M, G, T ## Единицы измерения: %, K, M, G, T
## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service, ## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service,
## user: superadmin, user-1 # Системное имя пользователя ## user: superadmin, user-1 # Системное имя пользователя
## property: ## property:
@ -694,10 +695,11 @@ NSSWITCHWINBIND=yes
################################################################################ ################################################################################
[/etc/ublinux/desktop] [/etc/ublinux/desktop]
## User for X autostarting ## User for X autostarting
## Пользователь для автовхода, значения: ## Пользователь для автовхода, AUTOLOGINUSER=, значения:
## =user_name - включает автовход указанного пользователя ## =user_name # Включает автовход указанного пользователя
## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin ## =yes|=enable # Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной ## =no|=disable # Принудительно отключить автологин
## Если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## AUTOLOGINUSER=yes ## AUTOLOGINUSER=yes
# Графическая среда по умолчанию может быть изменена # Графическая среда по умолчанию может быть изменена
@ -744,14 +746,26 @@ NSSWITCHWINBIND=yes
## при подключенных модулях станут активны проприетарные драйвера (default no) ## при подключенных модулях станут активны проприетарные драйвера (default no)
#FREEVGADRV=no #FREEVGADRV=no
## Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/10-monitor.conf ## Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/
## Перечень имён портов вывода получить по команде: xrandr или xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1 ## Перечень имён портов вывода получить по команде: xrandr или xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms ## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1 ## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1
## =1920x1080 =1920x1080x75 ## =1920x1080 =1920x1080x75
## cvt , gtf , reduced|r , dpms , nodpms , enable , disable , ignore , primary , ## cvt , gtf , reduced|r , dpms , nodpms , enable , disable , ignore , primary ,
## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert ## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert
#XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1 ## XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1
## Принудительно задать дополнительные возможности XORG, XORG_EXT=, значения:
## nodpms # Отключить DPMS на XORG глобально
## dpms # Включить DPMS на XORG глобально
## XORG_EXT=nodpms
## Принудительно задать DPI, XORG_DPI=, значения:
## =auto # Автоматически выставить DPI относительно максимального разрешения
## =96 # Значение по умолчнию, масштаб 100%
## =144|=2K # Для мониторов 2K, масштаб 150%
## =192|=4K # Для мониторов 4K, масштаб 200%
## XORG_DPI=192
## драйверы для видеокарт в случае, если проприентарные не доступны или не работают ## драйверы для видеокарт в случае, если проприентарные не доступны или не работают
#FAILSAFENVIDIA=fbdev #FAILSAFENVIDIA=fbdev
@ -964,7 +978,7 @@ NSSWITCHWINBIND=yes
# Выберите один из вариантов, не включайте сразу 2 переменные сразу # Выберите один из вариантов, не включайте сразу 2 переменные сразу
# 1 вариант. Может снизить производительность в играх # 1 вариант. Может снизить производительность в играх
#export __GL_YIELD=USLEEP #export __GL_YIELD=USLEEP
# 2 вариант. Не на каждой видео карте может сработать # 2 вариант. Не на каждой видеокарте может сработать
#export KWIN_TRIPLE_BUFFER=1 #export KWIN_TRIPLE_BUFFER=1
################################################################################ ################################################################################

@ -30,7 +30,7 @@
[/etc/ublinux/config] [/etc/ublinux/config]
## Config verison ## Config verison
## Версия конфигурации ## Версия конфигурации
VERSION=2.20 VERSION=2.21
## Additional boot parameters ## Additional boot parameters
## Дополнительные параметры загрузки, только для управления модулями ## Дополнительные параметры загрузки, только для управления модулями
@ -62,14 +62,14 @@ NEEDEDUSERS='superadmin:1000:x:Администратор'
## Пользователи системы ## Пользователи системы
## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x ## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x
## user_name # Имя пользователя ## user_name # Имя пользователя
## uid # UID пользователя, если необходимо автоматически расчитавыть, то оставить пустым или 'x' ## uid # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное ## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное
## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name' ## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name'
## extra_groups # Дополнительные группы пользователя ## extra_groups # Дополнительные группы пользователя
## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group' ## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group'
## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD' ## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD'
## ADDUSER[superadmin:1000:Администратор:]=x ## ADDUSER[superadmin:1000:Администратор:]=x
## ADDUSER[user-1:x:Пользователь-1::vboxusers,libvirt]=passsword_hash ## ADDUSER[user-1:x:Пользователь-1::vboxusers,libvirt]='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60'
# Помещать пользователя с ID 1000 в группу Администраторов whell # Помещать пользователя с ID 1000 в группу Администраторов whell
#ADDADM=yes #ADDADM=yes
@ -242,15 +242,16 @@ GRUB_BOOT_SILENT="splash"
## Аргументы командной строки для загрузки ядра Linux ## Аргументы командной строки для загрузки ядра Linux
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" ## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Возможные параметры GRUB_CMDLINE_LINUX: ## Возможные параметры GRUB_CMDLINE_LINUX:
## modprobe.blacklist=nouveau # Отключить автоматическую загрузку свободного драйвера nouveau для видеоадаптера NVIDIA
## nomodeset # Отключить выбор и загрузку ядром драйверов видео ## nomodeset # Отключить выбор и загрузку ядром драйверов видео
## i915.enable_dc=0 # Отключить управление питанием графического процессора ## i915.enable_dc=0 # Отключить управление питанием графического процессора
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием ## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна ## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage ## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage
## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel ## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel
## snd-intel-dspcfg.dsp_driver=3 ## snd-intel-dspcfg.dsp_driver=3
## security=apparmor ## security=apparmor
## usbcore.autosuspend=-1 ## Отключить авто засыпание USB устройств в режиме suspend
GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
################################################################################ ################################################################################
@ -291,8 +292,8 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ] ## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ]
## DOMAIN[client]=realmd_sssd ## DOMAIN[client]=realmd_sssd
## Пользователь имеющие права ввода в домен. ## Пользователь имеющий права ввода в домен.
## Применяется если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочнице где невозможно сохранить ## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить
## Пароль кодировать в base64: echo 'password' | base64 ## Пароль кодировать в base64: echo 'password' | base64
## DOMAIN[admanger]=USER_ADMIN:password_base64' ## DOMAIN[admanger]=USER_ADMIN:password_base64'
## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK ## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK
@ -303,7 +304,7 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh ## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh
## DOMAIN[group:ssh]=sudoers@ublinux.ru ## DOMAIN[group:ssh]=sudoers@ublinux.ru
## Пользователи которым разрешён вход в домен, ограничение ## Ограничить пользователей, которым разрешён вход в домен
## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3 ## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3
## REALM_PERMIT[group]=ublinux_group@ublinux.ru ## REALM_PERMIT[group]=ublinux_group@ublinux.ru
## REALM_PERMIT[user]=user-1@ublinux.ru ## REALM_PERMIT[user]=user-1@ublinux.ru
@ -368,7 +369,7 @@ IPV6=no
## Серверы времени ## Серверы времени
## NTPSERVERS=dhcp|default|stop|$VALUE ## NTPSERVERS=dhcp|default|stop|$VALUE
## =dhcp # Выбрать сервер времени предложенный DHCP ## =dhcp # Выбрать сервер времени предложенный DHCP
## =default # Выбрать сервера времени по умолчанияю: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org ## =default # Выбрать сервера времени по умолчанию: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## =stop # Отключить NTP синхронизацию принудительно ## =stop # Отключить NTP синхронизацию принудительно
## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';' ## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';'
## не задано # Никаких действий не предпринимается ## не задано # Никаких действий не предпринимается
@ -421,9 +422,9 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила разрешения. /etc/security/access.conf ## Управление доступом в систему, правила разрешения. /etc/security/access.conf
## Предостережение: порядок правил имеет значение. Проверяется последовательно и будет применено первое подходящее правило ## Предостережение: порядок правил имеет значение. Проверяется последовательно и будет применено первое подходящее правило
## Первыми обрабатываются привила ACCESS_ALLOWED_LOGIN, после правила ACCESS_DENIED_LOGIN ## Первыми обрабатываются правила ACCESS_ALLOWED_LOGIN, после правила ACCESS_DENIED_LOGIN
## ACCESS_ALLOWED_LOGIN=rule_1,rule_2,rule_n ## ACCESS_ALLOWED_LOGIN=rule_1,rule_2,rule_n
## Формат привила: users/groups:origins ## Формат правила: users/groups:origins
## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL ## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL
## originsсписок TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL ## originsсписок TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL
## root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 vc/1 # Пользователю root разрешен доступ через cron, X11 терминал :0, tty1, ..., tty6, vc/1 ## root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 vc/1 # Пользователю root разрешен доступ через cron, X11 терминал :0, tty1, ..., tty6, vc/1
@ -433,7 +434,7 @@ NSSWITCHWINBIND=yes
## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org ## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org
## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ ## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ
## @usergroup@@hostgroup:ALL # Членам группы usergroup и группы хостов hostgroup разрешен доступ ## @usergroup@@hostgroup:ALL # Членам группы usergroup и группы хостов hostgroup разрешен доступ
## DOMAIN.ORG\Domain Admins:ALL # Пользователя входящих в группу "Domain Admins" домена DOMAIN.ORG разрешен доступ ## DOMAIN.ORG\Domain Admins:ALL # Пользователям входящих в группу "Domain Admins" домена DOMAIN.ORG разрешен доступ
## (wheel):ALL # Членам группы wheel разрешен доступ ## (wheel):ALL # Членам группы wheel разрешен доступ
## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально ## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально
## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети ## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети
@ -441,7 +442,7 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила блокировки. /etc/security/access.conf ## Управление доступом в систему, правила блокировки. /etc/security/access.conf
## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n ## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n
## Rules: ## Правила (rule_n):
## root:ALL # Пользователю root должно быть отказано в доступе из всех источников ## root:ALL # Пользователю root должно быть отказано в доступе из всех источников
## root:ALL EXCEPT LOCAL # Запретить root вход через сеть ## root:ALL EXCEPT LOCAL # Запретить root вход через сеть
## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel ## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel
@ -491,7 +492,7 @@ NSSWITCHWINBIND=yes
## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1 ## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1
## Files: ## Files:
## files # Имена файлов разделённые: , или пробелом или ; ## files # Имена файлов разделённые: , или пробелом или ;
## all # Еквивалентно =gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk ## all # Эквивалентно =gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
## ACCESS_DENIED_INTERPRETER=all ## ACCESS_DENIED_INTERPRETER=all
## ACCESS_DENIED_INTERPRETER[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk ## ACCESS_DENIED_INTERPRETER[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
@ -547,7 +548,7 @@ NSSWITCHWINBIND=yes
## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение ## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение
## numbers # Произвольный номер состоящий только из цифр ## numbers # Произвольный номер состоящий только из цифр
## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер. ## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер.
## <project_name> # Имя буквенно проекта, не обязательное поле ## <project_name> # Имя проекта, не обязательное поле
## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte) ## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte) ## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение ## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение
@ -569,7 +570,7 @@ NSSWITCHWINBIND=yes
## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page ## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page
## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m ## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m
## Показать статус и используемые ограничения: systemctl status user.slice --no-page ## Показать статус и используемые ограничения: systemctl status user.slice --no-page
## Еденицы измерения: %, K, M, G, T ## Единицы измерения: %, K, M, G, T
## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service, ## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service,
## user: superadmin, user-1 # Системное имя пользователя ## user: superadmin, user-1 # Системное имя пользователя
## property: ## property:
@ -694,10 +695,11 @@ NSSWITCHWINBIND=yes
################################################################################ ################################################################################
[/etc/ublinux/desktop] [/etc/ublinux/desktop]
## User for X autostarting ## User for X autostarting
## Пользователь для автовхода, значения: ## Пользователь для автовхода, AUTOLOGINUSER=, значения:
## =user_name - включает автовход указанного пользователя ## =user_name # Включает автовход указанного пользователя
## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin ## =yes|=enable # Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной ## =no|=disable # Принудительно отключить автологин
## Если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## AUTOLOGINUSER=yes ## AUTOLOGINUSER=yes
# Графическая среда по умолчанию может быть изменена # Графическая среда по умолчанию может быть изменена
@ -744,14 +746,26 @@ NSSWITCHWINBIND=yes
## при подключенных модулях станут активны проприетарные драйвера (default no) ## при подключенных модулях станут активны проприетарные драйвера (default no)
#FREEVGADRV=no #FREEVGADRV=no
## Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/10-monitor.conf ## Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/
## Перечень имён портов вывода получить по команде: xrandr или xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1 ## Перечень имён портов вывода получить по команде: xrandr или xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms ## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1 ## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1
## =1920x1080 =1920x1080x75 ## =1920x1080 =1920x1080x75
## cvt , gtf , reduced|r , dpms , nodpms , enable , disable , ignore , primary , ## cvt , gtf , reduced|r , dpms , nodpms , enable , disable , ignore , primary ,
## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert ## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert
#XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1 ## XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1
## Принудительно задать дополнительные возможности XORG, XORG_EXT=, значения:
## nodpms # Отключить DPMS на XORG глобально
## dpms # Включить DPMS на XORG глобально
## XORG_EXT=nodpms
## Принудительно задать DPI, XORG_DPI=, значения:
## =auto # Автоматически выставить DPI относительно максимального разрешения
## =96 # Значение по умолчнию, масштаб 100%
## =144|=2K # Для мониторов 2K, масштаб 150%
## =192|=4K # Для мониторов 4K, масштаб 200%
## XORG_DPI=192
## драйверы для видеокарт в случае, если проприентарные не доступны или не работают ## драйверы для видеокарт в случае, если проприентарные не доступны или не работают
#FAILSAFENVIDIA=fbdev #FAILSAFENVIDIA=fbdev
@ -964,7 +978,7 @@ NSSWITCHWINBIND=yes
# Выберите один из вариантов, не включайте сразу 2 переменные сразу # Выберите один из вариантов, не включайте сразу 2 переменные сразу
# 1 вариант. Может снизить производительность в играх # 1 вариант. Может снизить производительность в играх
#export __GL_YIELD=USLEEP #export __GL_YIELD=USLEEP
# 2 вариант. Не на каждой видео карте может сработать # 2 вариант. Не на каждой видеокарте может сработать
#export KWIN_TRIPLE_BUFFER=1 #export KWIN_TRIPLE_BUFFER=1
################################################################################ ################################################################################

Loading…
Cancel
Save