CentOS下的一段脚本. 直接一起安装桌面,XWindows,VNC远程控制,和支持中文.
#!/bin/bash yum -y groupinstall "Desktop" #[安装桌面 ] yum -y groupinstall "X Window System" #[安装XWindows] yum -y groupinstall "Chinese Support" #[增加中文支持] #echo 'LANG="zh_CN.UTF-8"' >> /etc/sysconfig/i18n #[设置中文] startx #[启动XWindows] #echo 'id:5:initdefault' >> /etc/inittab #[开机自动运行] yum -y install tigervnc tigervnc-server #[安装VNC远程控制] echo 'VNCSERVERS="1:root"' >> /etc/sysconfig/vncservers #[设置服务权限] echo 'VNCSERVERARGS[1]="-geometry 1024x768"' >> /etc/sysconfig/vncservers #[设置服务参数] vncpasswd #[这一步将会提示你设置VNC的密码] #service vncserver restart #[重启] service vncserver start #[启动] #chkconfig vncserver on #[开机启动]
#后的注释项, 可以自己参考是否使用. 比如是否开机自动启动VNC.
桌面环境相关命令:
# 从命令行切换到桌面环境 startx # 获取当前启动模式 systemctl get-default # 修改启动模式为图形化 systemctl set-default graphical.target # 修改启动模式为命令行 systemctl set-default multi-user.target
默认启动桌面环境后以 root 用户自动登录:
# 修改配置文件 vi /etc/gdm/custom.conf # 增加如下配置 [daemon] AutomaticLoginEnable=True AutomaticLogin=root
远程服务设置
# Windows 远程登录需要安装 Xrdp,需要 epel 源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install -y xrdp # Xrdp 会调用 VNC,安装 tigervnc-server yum install -y tigervnc-server # 修改 Xrdp 最大连接数 vim /etc/xrdp/xrdp.ini max_bpp=32 # 启动 Xrdp 并设置开机启动 systemctl start xrdp systemctl enable xrdp # 开放 3389 端口,或者关闭防火墙 firewall-cmd --permanent --zone=public --add-port=3389/tcp firewall-cmd --reload # 关闭防火墙 systemctl stop firewalld # 禁止防火墙开机启动 systemctl disable firewalld
VNC 登录设置
用 VNC 客户端连接登录还需做一些设置
VNC 客户端下载:https://www.realvnc.com/en/connect/download/viewer/
# 为当前用户设置 VNC 密码,不然服务无法启动。此密码和系统密码不一样,这是使用 vnc viewer 登陆时使用的密码 vncpasswd # 复制服务设置的模板 cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service # 修改配置,以 root 用户为例,每个用户都需要单独设置 vim /etc/systemd/system/vncserver@\:1.service # 将 <USER> 换成用户名,[Service] 下增加 User=root [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=root # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target # 让服务文件修改生效 systemctl daemon-reload # 启动服务 systemctl start vncserver@:1 # 设为开机启动 systemctl enable vncserver@:1 # 查看服务端口,用于客户端连接地址 netstat -lnpt|grep Xvnc # 放行连接端口,每个用户端口不同。也可直接关闭防火墙 firewall-cmd --add-port=5901/tcp --permanent firewall-cmd --reload