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
posted @ 2022-07-20 14:13  sentangle  阅读(952)  评论(0编辑  收藏  举报