Mnohé je obsaženo již v samotné v instalační distribuci Xubuntu. Uvádím zde jak pro variantu poskládání si Xubuntu z negafického Ubuntu serveru, tak i některá vylepšení.
Negrafické rozšíření
Podpora 32bit aplikací
sudo dpkg --add-architecture i386
Přidání repositorů
sudo add-apt-repository "deb http://archive.canonical.com/ `lsb_release -sc` partner" sudo apt update
Aktualizace systému
sudo apt upgrade --allow-unauthenticated --auto-remove sudo apt clean
Upgrade linuxového jádra a restart systému
sudo apt install --install-recommends linux-generic-hwe-`lsb_release -sr` sudo reboot
Vrstva pro grafické zobrazení
Instalace X-serveru
sudo apt install xorg
Byl-li upgrade jádra, tak zohlednit i do X-server nadstavby „xorg“
sudo apt-get install xserver-xorg-hwe-`lsb_release -sr`
Instalace „desktop manageru“ správce přihlašovací obrazovky
sudo apt install lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
Xubuntu (20.04) nadstavba
Instalace „xfce“ prostředí (pro Xubuntu) a restart „desktop manageru“
sudo apt install xfce4 sudo systemctl restart lightdm.service
Doinstalace dalších „xfce“ doplňků
sudo apt install xfce4-goodies
Instalace aplikací, které jsou standardně i v iso instalačním médiu přímo Xubuntu distribuce
sudo apt install xubuntu-desktop
Doinstalace kodeků „třetích stran“ (přidání repositorů)
sudo apt-get install xubuntu-restricted-addons
Česká jazyková lokalizace aplikací
sudo apt install language-pack-cs language-pack-gnome-cs language-pack-kde-cs
Zavedení operačního systému
- zobrazení menu k odchycení během 2 sec. (
GRUB_TIMEOUT=2
,GRUB_RECORDFAIL_TIMEOUT=2
) - možnost obrázku na pozadí menu (
/boot/grub/grub.png
přilinkovaný ) - parametry průběhu zavedení (
quiet splash vmalloc=256M usbcore.autosuspend=-1 libahci.ignore_sss=1 raid=noautodetect
)
/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_RECORDFAIL_TIMEOUT=2 GRUB_TIMEOUT=2 GRUB_GFXPAYLOAD_LINUX="keep" GRUB_VIDEO_BACKEND="vbe" GRUB_GFXMODE="1024x768" GRUB_BACKGROUND="/usr/share/plymouth/themes/xubuntu-logo/wallpaper.png" GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=-1 quiet splash" GRUB_CMDLINE_LINUX="vmalloc=256M libahci.ignore_sss=1" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
Link na obrázek „wallpaper.png
“ z Xubuntu a zavedení změn:
sudo update-grub
Parametry operačního systému
Potlačení automatického zasouvání DVD, zvýšení efektivity využití operační paměti. Uvedená změna je připsaná na konec konfiguračního souboru.
/etc/sysctl.conf
######################################## # blokace automatickeho zasouvani CD/DVD # dev.cdrom.autoclose = 0 ################################# # pouzij swap az pri 5% volne RAM # vm.swappiness = 5
Omezení velikosti journalu
Omezení velikosti journal logů na 32MB.
/etc/systemd/journald.conf
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See journald.conf(5) for details. [Journal] #Storage=auto #Compress=yes #Seal=yes #SplitMode=uid #SyncIntervalSec=5m #RateLimitIntervalSec=30s #RateLimitBurst=10000 #SystemMaxUse= #SystemKeepFree= #SystemMaxFileSize= #SystemMaxFiles=100 #RuntimeMaxUse= #RuntimeKeepFree= #RuntimeMaxFileSize= #RuntimeMaxFiles=100 #MaxRetentionSec= #MaxFileSec=1month #ForwardToSyslog=yes #ForwardToKMsg=no #ForwardToConsole=no #ForwardToWall=yes #TTYPath=/dev/console #MaxLevelStore=debug #MaxLevelSyslog=debug #MaxLevelKMsg=notice #MaxLevelConsole=info #MaxLevelWall=emerg #LineMax=48K #ReadKMsg=yes SystemMaxUse=32M ForwardToSyslog=no
Aktivace změn
sudo systemctl daemon-reload sudo journalctl --vacuum-size=32M
Dodatečné procedury startované při startu operačního systému
/etc/rc.local
#!/bin/sh -e # # rc.local # # pro potlaceni systemovych hlasek na konsole # ``````````````````````````````````````````` dmesg -n 1 # pro odkladaci SWAP soubor # ````````````````````````` #[ ! -f /swapfile ] && fallocate -l 2G /swapfile \ # && chmod 600 /swapfile \ # && mkswap -L SWAPFILE /swapfile #swapon /swapfile ##################################### # pro plynuly zapis na USB-FLASH disk # ``````````````````````````````````` echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes ################################################### # pro potlaceni hlasek o predeslych padech aplikaci # ````````````````````````````````````````````````` /bin/rm -rf /var/crash exit 0
Od verze systému 18.04 se musí služba aktivovat
sudo chmod 750 /etc/rc.local sudo systemctl enable rc-local.service
Ošetření reaktivace monitoru
⇒ Ošetření problému neaktivního monitoru po jeho odpojení a připojení k počítači.
Procedury při přihlášení uživatele do systému
/etc/profile
if [ "$PS1" ]; then mesg n [ "`id -u`" -eq 0 ] && PS1='# ' || PS1='$ ' [ "$BASH" ] && [ "$BASH" != "/bin/sh" ] && [ -f /etc/bash.bashrc ] && . /etc/bash.bashrc fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do [ -r $i ] && . $i done unset i fi
/etc/bash.bashrc
[ -z "$PS1" ] && return umask 022 shopt -s checkwinsize shopt -s histappend HISTCONTROL=ignoredups:ignorespace HISTSIZE=4000 HISTFILESIZE=2000 if [ "${TERM:0:5}" = "xterm" -o "$TERM" = "linux" ]; then [ $UID -eq 0 ] && _X="31m" || _X="32m" PS1='${debian_chroot:+($debian_chroot)}\[\033[07;40;$_X\]\u@\h\[\033[00m\]:\[\033[22;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi function command_not_found_handle { if [ -x /usr/lib/command-not-found ]; then /usr/lib/command-not-found -- "$1"; return $? else printf "%s: command not found\n" "$1" >&2; return 127 fi } [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" if [ -x /usr/bin/dircolors ]; then [ -f /etc/dircolors ] && eval "$(dircolors -b /etc/dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi alias update='sudo su -c "apt update; apt upgrade --allow-unauthenticated --auto-remove; apt clean"' alias rm='rm -i' alias ll='ls -lF --time-style=long-iso' alias lll='ls -alF --time-style=long-iso' alias la='ls -A' alias l='ls -CF' alias aliases='cat /etc/bash_aliases 2>/dev/null ;cat ~/.bash_aliases 2>/dev/null' alias helpmenu='. ~/.helpmenu 2>/dev/null || . /etc/bash_helpmenu 2>/dev/null' alias HELPMENU='helpmenu' [ -f /etc/bash_aliases ] && . /etc/bash_aliases [ ! -f ~/.helpmenu ] && [ -f /etc/bash_helpmenu ] && . /etc/bash_helpmenu
/etc/bash_helpmenu
#!/bin/bash .Stat () { pgrep -fa "(^$1 |/$1 )" 2>/dev/null | grep -owe "$2" >/dev/null \ && echo -e "\E[40m\E[32m\E[7mok\E[0m" || echo "\E[40m\E[31m\E[7m--\E[0m";} clear echo -e "=\E[7m helpmenu \E[0m=\E[7m aliases \E[0m=\E[7m cdadm \E[0m=\E[7m cdbk \E[0m"\ "=================\E[7m exit \E[0m=\E[7m reboot \E[0m=\E[7m poweroff \E[0m=" LANG=C sed '/^model name/!d' /proc/cpuinfo |awk -F: 'END {print "CPU\t" NR " cores #" $2}' echo -ne "Net\t"; LANG=C netstat -ie |grep -B 1 -e "broadcast " \ |sed 's/:.*//;s/ /\t/;s/inet //;s/ netmask /\//' |sed -z 's/\n//g'; echo "" LANG=C free -m |sed ':a;N;$!ba;s/\n/ /g' \ |awk '{printf "Mem\t( RAM=%sMB + SWAP=%sMB ) ", $8, $15}' sed '/^\//!d' /proc/swaps |awk '{printf " %s ", $1} END {print ""}' sed -n '/^tmpfs /{\/[dsr][eyu][vsn]/!p}' /etc/mtab \ |awk '{printf "Mount\t%-7s %-14s %s\n", $3, "(ram+swap)", $2}' sed -n '/^encfs /p' /etc/mtab |awk '{printf "Mount\t%-7s %-14s %s\n", $1, "(fuse)", $2}' sed -n '/^\/dev\//p' /etc/mtab |awk '{printf "Mount\t%-7s %-14s %s\n", $3, $1, $2}' sed -n '/ cifs \| nfs /p' /etc/mtab |awk '{printf "Mount\t%-7s %-33s %s\n", $3, $1, $2}' lsb_release -d |sed "s/Description:/LINUX/" |tr '\n' '\t'; uname -rp echo -e "\tsshd ______ `.Stat sshd`" \ "\tsaned _____ `.Stat saned`" \ "\tsmbd ______ `.Stat usr/sbin/smbd`" \ "\tnmbd ______ `.Stat nmbd`\n" \ "\tXorg: seat0 `.Stat Xorg "-seat seat0"`" \ "\tXorg: seat1 `.Stat Xorg "-seat seat1"`" \ "\tXorg: seat2 `.Stat Xorg "-seat seat2"`" \ "\tlightdm ___ `.Stat lightdm`\n" \ "\tx11vnc ____ `.Stat x11vnc`" \ "\tteamviewerd `.Stat teamviewerd`" \ "\tminidlna __ `.Stat minidlnad`" \ "\tsendmail __ `.Stat sendmail:`" echo -e \ '================================================================================ = sudo su - ; su - spravce - login jinam = ifstat -aT ; iostat -m 1 ; htop ; netstat -twnplua - monitorovani [Ctrl]+[c] = df ; du -ms /adresar ; free -m - zobraz zaplneni = sudo systemctl { start | stop | restart | enable | disable | status } sluzba ================================================================================' #[ -z "$(sed -n '/(F)\|_/p' /proc/mdstat)" ] \ # && echo -en "\E[40m\E[32mRAID-ok\E[0m===" \ # || echo -en "\E[40m\E[31m\E[7mRAID-ERROR\E[0m" #echo '======================================================================'
/etc/skel/.profile
[ -z "$PS1" ] && return [ "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc #export LANG=cs_CZ.utf8 export LANG=en_US.UTF8
/etc/skel/.bashrc
[ -z "$PS1" ] && return [ -f ~/.bash_aliases ] && alias aliases='cat ~/.bash_aliases 2>/dev/null' && . ~/.bash_aliases [ -f ~/.helpmenu ] && alias helpmenu='. ~/.helpmenu 2>/dev/null' && . ~/.helpmenu [ "$TERM" = "linux" ] && loadkeys us 2>/dev/null >/dev/null
cp /etc/skel/.bashrc ~/
Grafická přihlašovací obrazovka
Uvedená změna je připsaná na konec konfiguračního souboru.
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] font-name = Ubuntu 15 xft-antialias = true xft-dpi = 96 xft-hintstyle = slight indicators = ~host;~spacer;~clock;~spacer;~power; clock-format = %A %d. %B %Y %T screensaver-timeout = 300
Potlačení zobrazení některých uživatelů v přihlašovací obrazovce
Pro existující login soubor
sudo sed -i 's/SystemAccount=false*/SystemAccount=true/' /var/lib/AccountsService/users/LoginJméno
Pro neexistující login soubor
sudo sh -c 'echo "[User]\nSystemAccount=true" >/var/lib/AccountsService/users/LoginJméno'
Aktuální „mono“ repository
V případě problému stability některých aplikací nainstalovat:
sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt upgrade
Akce vypnutí PC na událost stisku „Power“ tlačítka
/etc/acpi/events/powerbtn
event=button/power (PWR.||PBTN) action=/sbin/poweroff
Soubory nastavení xfce4 oken
~/.themes ~/.themes/název/
Soubory nastavení xfce4 panelu
~/.config/xfce4/panel ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
Při obnově panelu nestačí jen vrátit soubory nastavení, ale i ukončit procesy běžící i po odhlášení. Nejlépe je ukončit a obnovit soubory přes správcovského uživatele.