1. linux 上 配置vncserver
vncserver是使用非常方便和广泛的远程桌面服务,配置也相对简单。
下面记录了在centos系统上进行配置vncserver的过程。
安装
查看centos下是否已经安装了vncserver
rpm -qa |grep vnc
如果未安装vncserver,则进行安装
yum install vnc vncserver
vncserver配置
vnc桌面的启动方式有两种,一种是通过在 /etc/sysconfig/vncservers文件中配置启动,这种方式配置的vnc桌面在服务器启动的时候就被启动,可以直接远程连接;另一种是在机器运行的时候运行vncserver
:桌面号 命令来启动,这种方式启动的vnc桌面在机器重启后失效。
1. 使用文件来进行配置
这种方式只能在root用户下执行。
/etc/sysconfig/vncservers的配置:
1
2
3
4
5
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600-nolisten tcp -localhost"
VNCSERVERS="1:root 2:jason"
VNCSERVERARGS[1]="-geometry 1600x1000-nolisten tcp -localhost"
VNCSERVERARGS[2]="-geometry 1600x1000-nolisten tcp -localhost"
其中指定了 桌面号:用户名,以及相应的配置信息。
2. 使用vncserver命令来配置
这种方式可以在所有用户下进行,每个用户都可以开启多个vnc远程桌面,一个用户的所有vnc桌面都使用相同的密码,但是所有用户的桌面号必须唯一。
1
2
3
4
5
6
7
8
9
usage: vncserver [:] [-name] [-depth ]
[-geometry x]
[-pixelformat rgbNNN|bgrNNN]
[-fp ]
[-fg]
[-autokill]
...
vncserver -kill
vncserver -list
可以通过vncserver命令新建桌面
vncserver :number 桌面号, -name 桌面名(显示在vncviewer上), -depth 色深, -geometry 桌面大小。
或者删除一个远程桌面
vncserver -kill :桌面号
vnc桌面配置
每个用户的~/.vnc目录下都有一个 xstartup配置文件,来配置vnc使用的是 gnome桌面还是kde桌面,还有其他的一些信息。
如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
[ -r /etc/sysconfig/i18n ] && ./etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
case "$WINDOWMANAGER" in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb$HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title"$VNCDESKTOP Desktop" &
gnome-session gnome #添加这一句是连接时使用gnome 桌面环境
twm &
vncserver的服务端运行
vncserver运行:
service vncserver start
在运行的时候,每个用户都可以通过vncserer命令开多个vnc远程桌面(通过全局的桌面号来进行区分),且一个用户的所有vnc桌面的密码都相同(通过vncpasswd设置)。
每当用户新开一个vnc桌面时,在用户的 ~/.vnc 目录下就会有一个对应的 服务器机器名:桌面号.pid 的进程文件和服务器机器名:桌面号.log 的日志文件。
vnc客户端的连接
a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.1.11:1
b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。
在centos7 下安装配置vncserver
一.安装
以root用户运行以下命令来安装vncserver;
yum install tigervnc-server
同样运行以下命令来安装vncviewer;
yum install vnc
停止并禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
二.配置
vncviewer基本上不用配置;
vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:
cp /lib/systemd/system/[email protected]/etc/systemd/system/vncserver@:1.service
或者再增加一个窗口:
cp /lib/systemd/system/[email protected]/etc/systemd/system/vncserver@:2.service
编辑/lib/systemd/system/vncserver@:1.service,设置用户root相关参数,最终内容如下:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in/tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver-kill %i > /dev/null 2>&1 || :'
ExecStart=/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 || :'
上述内容中最好设置为root用户,否则可能会看到以下报错:
vncserver@:1.service - Remote desktopservice (VNC)
Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)
Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST;1min 36s ago
Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver%i (code=exited, status=1/FAILURE)
Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i >/dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Starting Remote desktop service (VNC)...
Apr 14 10:09:24 F1A-VMHOST-SWPErunuser[3258]: Password:
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:vncserver@:1.service: control process exited, code=exited status=1
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Failed to start Remote desktop service (VNC).
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Unit vncserver@:1.service entered failed state.
Warning: Unit file changed on disk,'systemctl daemon-reload' recommended.
三.应用
更新systemctl以使其生效;
systemctl daemon-reload
设置vncserver的密码;
vncpasswd root
按提示输入密码以及确认密码
启动该服务用来启用vnc的1号窗口;
systemctl start vncserver@:1.service 或者vncserver :1
关闭1号窗口:
systemctl stop vncserver@:1.service 或者vncserver -kill:1
设置为开机自动启动;
systemctl enable vncserver@:1.service
End.
转自 嘉为教育-rhce认证_rhce培训_linux培训_linux认证_linux考证
2. Linux 中的配置文件在哪个目录是由什么决定的
配置文件位置取决于用什么发行版。
通常情况下,用户软件的配置文件放在自已的 home 目录回下,比如 /home/riku/ 下,一答般以 . 作为目录开始字符,比如 .gnome 。
而系统软件的配置文件一般放在 /etc/ 目录下。
3. Centos7 VNC远程桌面服务安装配置
前提: 需要用 gnome 桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章 GNOME 桌面
开始安装 vnc
修改配置文件
替换文件中的两行,其实就是将USER>换成用户名,这里我直接用root 用户登录
对于普通用户,加入用户名为:Amos
下面举例进行设置: 首先一样复制一个server配置。改名为vncserver@:2.service
修改配置文件
修改了配置文件,必须重载系统服务才能生效
设置 vnc 密码, vnc 的密码跟系统的用户密码不一样,是使用 vnc viewer 登陆时需要使用的密码
启动服务
VNC服务到此已经安装完成 然后需要使用vnc客户端进行连接
4. linux 下 deepin 和 gnome 桌面的外观设置
桌面的外观设置一般包括窗口主题、图标主题、光标主题和字体设置,其中窗口主题就是常见的 gtk 主题,字体设置又包括标准字体、等款字体和字体大小。对于进些年的高分屏,又添加了字体缩放和窗口缩放这2个选项。
界面上设置方法就不介绍了,都可以在各自桌面的控制中心中找到,这里主要介绍命令行下的。
deepin 和 gnome 桌面环境的外观配置数据是使用 gsettings 来存储,所以可以通过 gsettings 来设置和读取。 gsettings 相比设置界面就是 可以设置到更多的选项,设置的值更加精确。
下面先简单介绍下 gsettings 的用法。
其中 schema 是在 /usr/share/glib-2.0/schemas 这个目录下, schema_id 是文件内容中 id 的值, key 就是文件中描述的,每个 key 都有一个默认值。
如 deepin 的主题配置文件是 com.deepin.dde.appearance.gchema.xml ,通过其文件开头的内容 <schema path="/com/deepin/dde/appearance/" id="com.deepin.dde.appearance" gettext-domain="DDE"> 可知,其 schema_id 就是 com.deepin.dde.appearance 。
gnome 的外观配置的 id 是 org.gnome.desktop.interface , deepin 的则是 com.deepin.dde.appearance 和 com.deepin.xsettings 。
通过命令 gsettings list-keys <schema_id> 可以查询到所有支持的 key ,如查询 gnome 支持的 key :
每个 key 的含义请阅读对应的 schema 文件来查询。
窗口主题对应的 key 是 gtk-theme ,值是字符串类型。
所有系统附带的 gtk 主题都在 /usr/share/themes 目录下。
如设置 Adapta 作为窗口主题
图标主题的 key 是 icon-theme ,光标主题的 key 是 cursor-theme ,值都是字符串类型,系统附带的图标和光标主题都在 /usr/share/icons/ 目录下。
主题的设置和获取方法与上面的窗口主题一样,这里就不再赘述了。
gnome 标准字体设置的 key 是 font-name ,等宽字体的 key 是 monospace-font-name ,值也都是字符串类型,字体的大小附加在字体名称后面一起设置,如设置标准字体:
gsettings set org.gnome.desktop.interface font-name 'Cantarell 11'
deepin 下标准字体的 key 是 font-standard ,等宽字体的是 font-monospace ,值也是字符串类型。但它的字体大小是单独在 font-size 中设置的,值是浮点数类型。
使用 gsettings 操作的方法就不再赘述了,与窗口主题一致。
gnome 下字体缩放的 key 是 text-scaling-factor ,它的值是浮点数类型;窗口缩放的 key 是 scaling-factor ,但它的值是无符号整型,即非负的整数。
deepin 下缩放的 schema_id 变为了 com.deepin.xsettings ,字体缩放的 key 是 scale-factor ,它的值也是浮点数类型;窗口缩放的 key 是 window-scale ,它的值也是无符号整型。
注意: 只有在设置 deepin 缩放时 schema_id 才是 com.deepin.xsettings ,其他的设置时都是 com.deepin.dde.appearance 。
以上介绍的设置方法在使用 deepin 或 gnome 作为桌面的 linux 发行版都可以适用,如 ubuntu , fedora 和 deepin 等,这些设置的改变桌面环境是会实时响应。
希望这些能够帮助到你,如写一个自动备份和恢复的脚本等...
如果你是想知道这些设置是如何生效的,请持续关注哦,本人计划在下篇文章中介绍 deepin 下的实现原理,谢谢支持。