Ubuntu18.04 server安装最小化桌面(openbox+tint2+pulseaudio), 开机自动启动服务
应用的效果图
shell脚本
#!/bin/bash
echo ".................start................"
set -e
# 设置apt源
sudo cp -f /etc/apt/sources.list /etc/apt/sources.list.bak
sudo echo 'deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse' | sudo tee -a /etc/apt/sources.list
sudo apt-get clean
sudo apt-get update
sudo apt-get install -f -y
# 字体
if ! -e "fonts.scale"; then
echo "install fonts................................................"
sudo mkdir -p /usr/share/fonts/
sudo wget "http://192.168.0.199:8080/ubuntu/config/simkai.ttf"
sudo mv -f *.ttf /usr/share/fonts/
sudo chmod 644 /usr/share/fonts/*.ttf
if ! type mkfontscale >/dev/null 2>&1; then
sudo apt-get install -y ttf-mscorefonts-installer
fi
if ! type fc-cache >/dev/null 2>&1; then
sudo apt-get install -y fontconfig
fi
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -f -v
fi
# 中文
#sudo apt-get install -y language-pack-zh-hans
#sudo localectl set-locale LANG=zh_CN.utf8
#变量
loginName=$(whoami)
loginHome=${HOME}
#terminal
if ! type xfce4-terminal >/dev/null 2>&1; then
sudo apt-get install -y xfce4-terminal
fi
#openbox
if ! type openbox >/dev/null 2>&1; then
sudo apt-get install -y openbox=3.6.1-7ubuntu0.1
sudo sed -i '$a volumeicon & \
pulseaudio & \
tint2 & \
ovirtClient &' /etc/xdg/openbox/autostart
sudo wget "http://192.168.0.199:8080/ubuntu/config/menu.xml"
sudo wget "http://192.168.0.199:8080/ubuntu/config/rc.xml"
sudo mv -f menu.xml rc.xml /etc/xdg/openbox/
fi
#xinit
if ! type xinit >/dev/null 2>&1; then
sudo apt-get install -y xinit
sudo sed -i 's/^. \/etc\/X11\/Xsession/#/' /etc/X11/xinit/xinitrc
sudo sed -i '$a exec openbox-session' /etc/X11/xinit/xinitrc
sudo sed -i '$a if [ -z "$DISPLAY" ] && [ $(tty) == \/dev\/tty1 ] ; then \
startx \
fi' ${loginHome}/.profile
fi
# tint2
if ! type tint2 >/dev/null 2>&1; then
sudo apt-get install -y tint2
sudo wget "http://192.168.0.199:8080/ubuntu/config/tint2rc"
sudo mkdir -p ${loginHome}/.config/tint2/
sudo cp -f tint2rc /etc/xdg/tint2/
sudo mv -f tint2rc ${loginHome}/.config/tint2/
sudo rm -rf /usr/share/tint2/*
sudo wget "http://192.168.0.199:8080/ubuntu/config/icon_reboot.svg"
sudo wget "http://192.168.0.199:8080/ubuntu/config/icon_shutdown.svg"
sudo mv -f icon_* /etc/xdg/openbox/
sudo mv /usr/bin/tint2conf tint2conf.bak
fi
#默认桌面软件vmclient
if ! type make >/dev/null 2>&1; then
sudo apt-get install -y ubuntu-make make
fi
if ! type ovirtClient >/dev/null 2>&1; then
sudo sudo apt-get install -y libxkbcommon-x11-0
sudo wget "http://192.168.0.199:8080/ubuntu/dep/ovirtClient.tar.xz"
sudo tar -xf ovirtClient.tar.xz
sudo make install -f Makefile
sudo rm -rf usr Makefile ovirtClient*
fi
# alsa- 声音驱动
if ! type pulseaudio >/dev/null 2>&1; then
sudo apt-get install -y pulseaudio=1:11.1-1ubuntu7.11
fi
if ! type volumeicon-alsa >/dev/null 2>&1; then
sudo apt-get install -y volumeicon-alsa alsa-utils
wget "http://192.168.0.199:8080/ubuntu/config/volumeicon"
sudo mkdir -p ${loginHome}/.config/volumeicon/
sudo mv -f volumeicon ${loginHome}/.config/volumeicon/
fi
# sshd
if type sshd >/dev/null 2>&1; then
sudo apt-get remove --purge -y openssh-server
fi
sudo apt-get install -y openssh-server
sudo sed -i '/#PermitRootLogin prohibit-password/a\PermitRootLogin yes' /etc/ssh/sshd_config
sudo service sshd restart
sudo rm -rf install.sh
sudo chown -R ${loginName}:${loginName} ${HOME}
sudo rm -rf /etc/update-motd.d/*
sudo apt-get remove --purge -y byobu obconf
sudo apt-get clean
# 自动登录
sudo sed -i "s/^ExecStart=-\/sbin\/agetty /ExecStart=-\/sbin\/agetty -a ${loginName} /g" /lib/systemd/system/getty@.service
sudo passwd -d ${loginName}
#重启
sudo reboot