Add HiDPI select

master
Dmitry Razumov 3 years ago
parent fd44880743
commit e924722a42

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

@ -19,6 +19,9 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ ${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
if [[ -n ${VGADRV_AUTO} ]]; then
while read LSPCI_DEVICE; do
@ -38,15 +41,40 @@ SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
#modprobe drm
#echo -e nvidia_drm\\nvidia_uvm\\nnvidia_modeset > usr/lib/modules-load.d/nvidia-dkms.conf
fi
else
rm -f /etc/X11/xorg.conf.d/20-nvidia-ubconfig.conf
rm -f /etc/udev/rules.d/70-nvidia-ubconfig.rules
# else
#rm -f /etc/udev/rules.d/70-nvidia-ubconfig.rules
fi
#[ ! -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
## Управление дополнительными возможностями 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:
## 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
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
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
SOFT_MODELINE="gtf"
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}"
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
cat > /etc/X11/xorg.conf.d/00-keyboard.conf <<EOF
cat > ${XORG_FILE_KEYBOARD} <<EOF
Section "InputClass"
Identifier "system-keyboard"
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
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
unset AUTOLOGINUSER
[[ -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/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
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
rm -f ${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf
if [[ -f ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
rm -f "${FILE_LIGHTDM_AUTOLOGIN_CONF}"
fi
else
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/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
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
mkdir -p ${ROOTFS}/etc/lightdm/lightdm.conf.d
cat <<-EOF | sed 's/^\s*\t*//' > "${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf"
if [[ -f ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
mkdir -p ${{FILE_LIGHTDM_AUTOLOGIN_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_AUTOLOGIN_CONF}"
[Seat:*]
autologin-user=${AUTOLOGINUSER}
EOF

@ -23,23 +23,23 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
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
if [ -x usr/bin/gnome-shell ] ;then
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >$SYSCONF/compositing-wm
sed -i /COMPOSITING_WM_START/d $SYSCONF/config
echo COMPOSITING_WM_START=yes >> $SYSCONF/config
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm
sed -i /COMPOSITING_WM_START/d ${SYSCONF}/config
echo COMPOSITING_WM_START=yes >> ${SYSCONF}/config
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
# [ -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
}
switch3doff(){
echo "COMPOSITING_SERVER_START=no" >$SYSCONF/compositing-server
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >$SYSCONF/compositing-wm
sed -i /COMPOSITING_WM_START/d $SYSCONF/config
echo "COMPOSITING_SERVER_START=no" >${SYSCONF}/compositing-server
echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm
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 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
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
[[ -f $SYSCONF/desktop ]] && sed -i /DISPLAYMANAGER=/d $SYSCONF/desktop
echo "DISPLAYMANAGER=${1%%-plymouth*}" >> $SYSCONF/desktop
[[ -f ${SYSCONF}/desktop ]] && sed -i /DISPLAYMANAGER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER=${1%%-plymouth*}" >> ${SYSCONF}/desktop
case ${1%%-plymouth*} in
lightdm)
# FIX lightdm-greater
@ -63,8 +63,8 @@ setupdm(){
setupde(){
if [[ -f usr/share/xsessions/$1.desktop ]] ;then
sed -i /DESKTOP=/d $SYSCONF/desktop
echo "DESKTOP=$1" >> $SYSCONF/desktop
sed -i /DESKTOP=/d ${SYSCONF}/desktop
echo "DESKTOP=$1" >> ${SYSCONF}/desktop
# ln -sf $1.desktop usr/share/xsessions/default.desktop
# cat > usr/share/xsessions/default.desktop <<EOF
#[Desktop Entry]
@ -98,11 +98,11 @@ disabledmde(){
[ -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
DISPLAYMANAGER=none
sed -i /DISPLAYMANAGER=/d $SYSCONF/desktop
echo "DISPLAYMANAGER=$DISPLAYMANAGER" >> $SYSCONF/desktop
sed -i /DISPLAYMANAGER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER=$DISPLAYMANAGER" >> ${SYSCONF}/desktop
DESKTOP=none
sed -i /DESKTOP=/d $SYSCONF/desktop
echo "DESKTOP=$DESKTOP" >> $SYSCONF/desktop
sed -i /DESKTOP=/d ${SYSCONF}/desktop
echo "DESKTOP=$DESKTOP" >> ${SYSCONF}/desktop
}
[ "$(cmdline_parameter 3ddesktop)" ] && switch3don
@ -131,8 +131,8 @@ for i in $(cmdline_value desktop | tr , " " ) ;do
xdm) DISPLAYMANAGER=xdm ;;
lxdm) DISPLAYMANAGER=lxdm ;;
sddm) DISPLAYMANAGER=sddm ;;
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 ;;
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 ;;
*) DESKTOP=${i,,} ;;
esac
done
@ -144,7 +144,6 @@ done
[[ -z "${DISPLAYMANAGER}" ]] && for i in slim xdm lxdm kdm gdm sddm lightdm; do
[[ -f lib/systemd/system/$i.service ]] && DISPLAYMANAGER=$i
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}
# Autodetect Display Environment
@ -159,12 +158,12 @@ done
# Autodetect 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
if [[ "${DISPLAYMANAGER}" == "lightdm" && ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
sed -i /DISPLAYMANAGER_DEFAULTUSER=/d $SYSCONF/desktop
echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> $SYSCONF/desktop
sed -i /DISPLAYMANAGER_DEFAULTUSER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> ${SYSCONF}/desktop
mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/
echo "[greeter]" > 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 644 var/lib/lightdm/.cache/lightdm-gtk-greeter/state
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]
## Config verison
## Версия конфигурации
VERSION=2.20
VERSION=2.21
## Additional boot parameters
## Дополнительные параметры загрузки, только для управления модулями
@ -62,14 +62,14 @@ NEEDEDUSERS='superadmin:1000:x:Администратор'
## Пользователи системы
## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x
## user_name # Имя пользователя
## uid # UID пользователя, если необходимо автоматически расчитавыть, то оставить пустым или 'x'
## uid # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное
## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name'
## extra_groups # Дополнительные группы пользователя
## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group'
## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD'
## 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
#ADDADM=yes
@ -242,15 +242,16 @@ GRUB_BOOT_SILENT="splash"
## Аргументы командной строки для загрузки ядра Linux
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Возможные параметры GRUB_CMDLINE_LINUX:
## modprobe.blacklist=nouveau # Отключить автоматическую загрузку свободного драйвера nouveau для видеоадаптера NVIDIA
## nomodeset # Отключить выбор и загрузку ядром драйверов видео
## i915.enable_dc=0 # Отключить управление питанием графического процессора
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage
## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel
## snd-intel-dspcfg.dsp_driver=3
## security=apparmor
## usbcore.autosuspend=-1 ## Отключить авто засыпание USB устройств в режиме suspend
GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
################################################################################
@ -291,8 +292,8 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ]
## DOMAIN[client]=realmd_sssd
## Пользователь имеющие права ввода в домен.
## Применяется если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочнице где невозможно сохранить
## Пользователь имеющий права ввода в домен.
## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить
## Пароль кодировать в base64: echo 'password' | base64
## DOMAIN[admanger]=USER_ADMIN:password_base64'
## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK
@ -303,7 +304,7 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh
## DOMAIN[group:ssh]=sudoers@ublinux.ru
## Пользователи которым разрешён вход в домен, ограничение
## Ограничить пользователей, которым разрешён вход в домен
## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3
## REALM_PERMIT[group]=ublinux_group@ublinux.ru
## REALM_PERMIT[user]=user-1@ublinux.ru
@ -368,7 +369,7 @@ IPV6=no
## Серверы времени
## NTPSERVERS=dhcp|default|stop|$VALUE
## =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 синхронизацию принудительно
## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';'
## не задано # Никаких действий не предпринимается
@ -421,9 +422,9 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила разрешения. /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
## Формат привила: users/groups:origins
## Формат правила: users/groups:origins
## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL
## 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
@ -433,7 +434,7 @@ NSSWITCHWINBIND=yes
## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org
## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ
## @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 разрешен доступ
## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально
## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети
@ -441,7 +442,7 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила блокировки. /etc/security/access.conf
## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n
## Rules:
## Правила (rule_n):
## root:ALL # Пользователю root должно быть отказано в доступе из всех источников
## root:ALL EXCEPT LOCAL # Запретить root вход через сеть
## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel
@ -491,7 +492,7 @@ NSSWITCHWINBIND=yes
## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1
## 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[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
@ -547,7 +548,7 @@ NSSWITCHWINBIND=yes
## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение
## numbers # Произвольный номер состоящий только из цифр
## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер.
## <project_name> # Имя буквенно проекта, не обязательное поле
## <project_name> # Имя проекта, не обязательное поле
## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение
@ -569,7 +570,7 @@ NSSWITCHWINBIND=yes
## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page
## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m
## Показать статус и используемые ограничения: 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,
## user: superadmin, user-1 # Системное имя пользователя
## property:
@ -694,10 +695,11 @@ NSSWITCHWINBIND=yes
################################################################################
[/etc/ublinux/desktop]
## User for X autostarting
## Пользователь для автовхода, значения:
## =user_name - включает автовход указанного пользователя
## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## Пользователь для автовхода, AUTOLOGINUSER=, значения:
## =user_name # Включает автовход указанного пользователя
## =yes|=enable # Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## =no|=disable # Принудительно отключить автологин
## Если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## AUTOLOGINUSER=yes
# Графическая среда по умолчанию может быть изменена
@ -744,14 +746,26 @@ NSSWITCHWINBIND=yes
## при подключенных модулях станут активны проприетарные драйвера (default 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
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1
## =1920x1080 =1920x1080x75
## 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
#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
@ -964,7 +978,7 @@ NSSWITCHWINBIND=yes
# Выберите один из вариантов, не включайте сразу 2 переменные сразу
# 1 вариант. Может снизить производительность в играх
#export __GL_YIELD=USLEEP
# 2 вариант. Не на каждой видео карте может сработать
# 2 вариант. Не на каждой видеокарте может сработать
#export KWIN_TRIPLE_BUFFER=1
################################################################################

@ -30,7 +30,7 @@
[/etc/ublinux/config]
## Config verison
## Версия конфигурации
VERSION=2.20
VERSION=2.21
## Additional boot parameters
## Дополнительные параметры загрузки, только для управления модулями
@ -62,14 +62,14 @@ NEEDEDUSERS='superadmin:1000:x:Администратор'
## Пользователи системы
## ADDUSER[user_name:uid:comment:user_group:extra_groups:optional]=password_hash|x
## user_name # Имя пользователя
## uid # UID пользователя, если необходимо автоматически расчитавыть, то оставить пустым или 'x'
## uid # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## comment # Поле GECOS, с подробным описанием пользователя, можно локализованное
## user_group # Основная группа пользователя, если выбрано пусто или 'x', то 'user_group=user_name'
## extra_groups # Дополнительные группы пользователя
## optional # Дополнительные опции, например: '--shell /usr/bin/bash --no-user-group'
## password_hash|x # Хеш пароля пользователя, если выбрано 'x', то 'password_hash=DEFAULTPASSWD'
## 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
#ADDADM=yes
@ -242,15 +242,16 @@ GRUB_BOOT_SILENT="splash"
## Аргументы командной строки для загрузки ядра Linux
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Возможные параметры GRUB_CMDLINE_LINUX:
## modprobe.blacklist=nouveau # Отключить автоматическую загрузку свободного драйвера nouveau для видеоадаптера NVIDIA
## nomodeset # Отключить выбор и загрузку ядром драйверов видео
## i915.enable_dc=0 # Отключить управление питанием графического процессора
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием
## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна
## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage
## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel
## snd-intel-dspcfg.dsp_driver=3
## security=apparmor
## usbcore.autosuspend=-1 ## Отключить авто засыпание USB устройств в режиме suspend
GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
################################################################################
@ -291,8 +292,8 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Клиент для подключения к домену [ *realmd_sssd | realmd_winbind | samba | none ]
## DOMAIN[client]=realmd_sssd
## Пользователь имеющие права ввода в домен.
## Применяется если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочнице где невозможно сохранить
## Пользователь имеющий права ввода в домен.
## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить
## Пароль кодировать в base64: echo 'password' | base64
## DOMAIN[admanger]=USER_ADMIN:password_base64'
## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK
@ -303,7 +304,7 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh
## DOMAIN[group:ssh]=sudoers@ublinux.ru
## Пользователи которым разрешён вход в домен, ограничение
## Ограничить пользователей, которым разрешён вход в домен
## REALM_PERMIT[user]=user-1@ublinux.ru,user-2@ublinux.ru,ublinux.ru\\user-3
## REALM_PERMIT[group]=ublinux_group@ublinux.ru
## REALM_PERMIT[user]=user-1@ublinux.ru
@ -368,7 +369,7 @@ IPV6=no
## Серверы времени
## NTPSERVERS=dhcp|default|stop|$VALUE
## =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 синхронизацию принудительно
## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';'
## не задано # Никаких действий не предпринимается
@ -421,9 +422,9 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила разрешения. /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
## Формат привила: users/groups:origins
## Формат правила: users/groups:origins
## users/groupsсписок пользователей или групп пользователей или ключевое слово ALL
## 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
@ -433,7 +434,7 @@ NSSWITCHWINBIND=yes
## superadmin:foo1.bar.org foo2.bar.org .foo.bar.org
## @admins foo:ALL # Пользователю foo и членам администраторов сетевой группы admins разрешен доступ
## @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 разрешен доступ
## ALL:LOCAL # Разрешить локальным учетным записям вход в систему локально
## ALL EXCEPT root: 192.168.0. # Разрешить всем, кроме root, входить в систему из под указанной маски сети
@ -441,7 +442,7 @@ NSSWITCHWINBIND=yes
## Управление доступом в систему, правила блокировки. /etc/security/access.conf
## ACCESS_DENIED_LOGIN=rule_1,rule_2,rule_n
## Rules:
## Правила (rule_n):
## root:ALL # Пользователю root должно быть отказано в доступе из всех источников
## root:ALL EXCEPT LOCAL # Запретить root вход через сеть
## wheel:ALL EXCEPT LOCAL .domain.org # Запретить нелокальный вход в привилегированные учетные записи группы wheel
@ -491,7 +492,7 @@ NSSWITCHWINBIND=yes
## -maxdepth 1 # Путь до каталога поиска с уровнем вложения 1
## 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[/usr/bin]=gbr3,python,python2,python3,perl,perl6,php,ruby,node,awk,gawk
@ -547,7 +548,7 @@ NSSWITCHWINBIND=yes
## <project_id> # Номер проекта, цифра, обязательное поле, может принимать значение
## numbers # Произвольный номер состоящий только из цифр
## AUTO # Автоматически генерирует произвольный номер. Если на путь ранее устанавливался номер, то использует старый номер.
## <project_name> # Имя буквенно проекта, не обязательное поле
## <project_name> # Имя проекта, не обязательное поле
## <bsoft> # Указывает программное ограничение размера block в файловой системе, предупреждение. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <bhard> # Указывает жесткое ограничение размера block в файловой системе. Применимо: M(egabyte),G(igabyte),T(erabyte)
## <isoft> # Указывает программное ограничение inode в файловой системе, предупреждение
@ -569,7 +570,7 @@ NSSWITCHWINBIND=yes
## Получить древовидный список cgroups и запущенных процессов: systemd-cgls --no-page
## Показать монторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m
## Показать статус и используемые ограничения: 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,
## user: superadmin, user-1 # Системное имя пользователя
## property:
@ -694,10 +695,11 @@ NSSWITCHWINBIND=yes
################################################################################
[/etc/ublinux/desktop]
## User for X autostarting
## Пользователь для автовхода, значения:
## =user_name - включает автовход указанного пользователя
## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## Пользователь для автовхода, AUTOLOGINUSER=, значения:
## =user_name # Включает автовход указанного пользователя
## =yes|=enable # Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## =no|=disable # Принудительно отключить автологин
## Если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## AUTOLOGINUSER=yes
# Графическая среда по умолчанию может быть изменена
@ -744,14 +746,26 @@ NSSWITCHWINBIND=yes
## при подключенных модулях станут активны проприетарные драйвера (default 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
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1
## =1920x1080 =1920x1080x75
## 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
#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
@ -964,7 +978,7 @@ NSSWITCHWINBIND=yes
# Выберите один из вариантов, не включайте сразу 2 переменные сразу
# 1 вариант. Может снизить производительность в играх
#export __GL_YIELD=USLEEP
# 2 вариант. Не на каждой видео карте может сработать
# 2 вариант. Не на каждой видеокарте может сработать
#export KWIN_TRIPLE_BUFFER=1
################################################################################

Loading…
Cancel
Save