失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Ubuntu18.04.6 LTS安装vnc(xfce桌面或GNOME原生桌面) 及实现离线Ubuntu服务器安装软件

Ubuntu18.04.6 LTS安装vnc(xfce桌面或GNOME原生桌面) 及实现离线Ubuntu服务器安装软件

时间:2021-11-21 15:57:10

相关推荐

Ubuntu18.04.6 LTS安装vnc(xfce桌面或GNOME原生桌面) 及实现离线Ubuntu服务器安装软件

文章目录

参考一、前提1.1 dpkg和apt-get的区别dpkg1.2 apt install与apt-get install的区别1.3 apt-get的update和upgrade的区别1.4 apt autoremove purge clean1.5 ubuntu远程桌面连接方式(vnc、xrdp、vino、xorg等概念)1.5.1 VNC方式连接1.5.2 RDP方式连接二、vnc4server和xfce4安装2.1 xfce4安装2.2 vnc4server安装2.2.1 第一次启动vnc4server2.2.2 修改vnc配置文件xstartup2.2.2.1 使用xfce远程桌面配置2.2.2.2 使用GNOME原生桌面配置2.2.3 新建连接端口2.2.4 查看已经打开的vnc端口2.2.5 使用vncviewer连接三、ubuntu离线安装软件3.1 离线安装包的制作3.1 在另外一台Ubuntu上离线安装

VNC(Virtual Network Computing,虚拟网络计算机)是一个跨平台远程连接工具,由AT&T实验室于2002年开发的,是一个远程操控计算机的软件,它能够将远程计算机完整的窗口画面通过网络传输到另一台计算机的屏幕上.它和SSH最大的区别是:ssh使用的是字符界面进行远程管理而vnc使用的是图形化界面操作。

VNC的特点:

(1).客户端活动如果断线等不会影响到服务器,再次连接即可正常使用 。

(2).客户端无需安装,甚至能够使用浏览器进行控制(浏览器需要支持java) 。

(3).该软件是跨平台的。

VNC远程管理软件包括服务器VNC Server和客户端VNC Viewer,用户需要先将服务器VNC Server安装到要被控制的计算机上,才能在主控端的计算机执行VNC Viewer控制被控端。

参考

/dakey/article/details/107462813 该博客使用xfce和vnc4server部署远程连接

/p/8dd11e9f5852 该博客使用vnc4server和ubuntu原始桌面系统进行远程连接搭建,并完成离线系统安装。在我自己的安装中,使用ubuntu本身的gnome桌面系统会存在灰屏的问题,没得解决。最终使用xfce桌面系统完成了搭建。

/?p=691 该博客讲述了ubuntu远程桌面连接方式(vnc、xrdp、vino、xorg等概念)

最好在与服务器相同的纯净的ubuntu系统下进行软件安装和打包。因此旧的系统会将无用的deb软件安装包清理调,而这些安装包可能在离线服务器上缺少。

一、前提

1.1 dpkg和apt-get的区别dpkg

dpkg:用来安装.deb文件时,不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。

apt-get:会解决和安装模块的依赖问题,并会咨询软件仓库,但不会安装本地的deb文件,apt-get是建立在dpkg之上的软件管理工具。

1.2 apt install与apt-get install的区别

apt 命令是对之前的apt-get apt-cache 等的封装,提供更加统一,更加适合终端用户使用的接口。apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。apt是为交互使用而设计的。最好在shell脚本中使用apt-get和apt-cache,因为它们在不同版本之间向后兼容,并且有更多选项和功能。对于基本命令,apt和apt-get两个工具的语法是相同的。另外补充一个区别,在默认配置的情况下,apt-get 安装的 deb 软件包,会在本地目录缓存;而apt 不会。

1.3 apt-get的update和upgrade的区别

apt-get作为包管理器,其实类似于咱们在windows上使用的软件管家类的软件。

当运行apt-get update命令的时候,实际上相当于软件管家的“查找更新”操作。它会同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引信息(软件包的版本信息、系统要求、翻译、依赖关系等等)。

当运行apt-get upgrade命令的时候,实际上相当于软件管家的“一键更新”操作。它会对已经安装有更新的软件进行自动升级。由于确定要更新的软件包需要对本地安装的版本和列表的版本进行比较,所以要在update以后运行这一条。

1.4 apt autoremove purge clean

一般来说使用apt安装软件,必须要有root权限,因为apt安装时需要写/usr/bin /usr/lib /usr/share等目录,而这些目录只有root用户(或有sudo权限)才有写入权限的,所以没有sudo权限的普通要用apt安装软件的话,就只能以 源码安装方式 来安装了

参考/qq_24406903/article/details/88376829

apt 清除命令 待删除的软件

如:apt purge python

在桌面版的Ubuntu系统下尽量不要使用:

apt autoremove

删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。(这个命令容易导致系统无法进入系统桌面)。

高能警告:慎用本命令!!!

它会在你不知情的情况下,一股脑删除很多“它认为”你不再使用的软件;

2.apt remove删除已安装的软件包(保留配置文件),不会删除依赖软件包,保留配置文件;

3.apt purge删除已安装包(不保留配置文件),删除软件包,同时删除相应依赖软件包。

4.apt clean此命令会将 /var/cache/apt/archives/ 下的 所有 deb 删掉,相当于清理下载的软件安装包。

5.apt autoclean删除为了满足某些依赖安装的,但现在不再需要的软件包。

以上最推荐使用apt purge最简单 如果提示权限不够 命令前加上sudo即可。

Ubuntu 的apt install 和卸载正确姿势

先说下使用apt installl 安装的包的卸载:

apt-get remove: 卸载软件

apt-get purge: 卸载软件和配置文件

apt-get autoremove: 移除没有使用的依赖

apt-get clean: 删除/var/cache/apt/archives/下的所有deb包

apt-get autoclean: 删除/var/cache/apt/archives/下的过期deb包

1.5 ubuntu远程桌面连接方式(vnc、xrdp、vino、xorg等概念)

如果你需要通过远程连接到ubuntu桌面,有很多种方式,但归根到底其实就两种VNC和RDP。

1.5.1 VNC方式连接

首先VNC方式连接ubuntu,ubuntu桌面版系统自带了一个vnc服务端,叫vino,设置开关中的共享屏幕其实就是这个vnc服务端,如果你是最小安装版,那就没有共享屏幕这个选项,你需要手动安装,安装方式

sudo apt install vino

如果是server端,默认是没有ubuntu图形化界面的,需要安装好才能使用远程桌面。

ubuntu的图形化界面主要有几种:unity、gnome、xfce、kde。 其中unity在ubuntu早期版本中常用,新版本ubuntu默认桌面是gnome,而如果安装的是ubuntu server系统,需要在图形化操作,一般安装xfce,它非常轻量,kde在ubuntu中不常用。

所以如果要远程连接ubuntu桌面,前提你得有一个桌面,在gnome桌面环境下,默认有一个vnc服务端叫vino,这个vnc服务端很坑爹,必须要ubuntu物理机登录上一个账户并且把安全认证关闭才能通过vnc客户端连接,比如vnc-viewer。

关闭安全认证方式有两种,一种直接通过命令:

sudo gsettings set org.gnome.Vino require-encryption false

另一种方式通过安装工具,使用工具来关闭,这个工具就是dconf-editor

sudo apt-get install dconf-editor

选择: org->gnome->desktop->remote access->require encrytion 关闭

系统自带的vino很鸡肋,所以如果你想用vnc,就安装一个第三方的吧,vnc4server,使用这个需要关闭系统默认的共享桌面,你可以在图像化菜单中关闭屏幕共享,或者直接卸载 sudo apt remove vino ,为什么要关闭,因为你打开的话就占用了5900端口,只要是vnc服务,默认端口都是5900,如果不关闭,会造成其他vnc服务端开启失败。

然后安装vnc4Server

sudo apt install vnc4server

具体配置请查看章节二。

1.5.2 RDP方式连接

rdp是windows系统专用的远程连接方式,但是ubuntu等linux系统下可以通过移花接木的方式,也就是xrdp, xrdp本身不具备桌面服务功能,需要和图形化桌面配合,这个提供桌面能力的其实就是xorg,xorg在ubuntu中默认存在,所以通过xrdp连接远程桌面默认会选择xorg,xorg为xrdp提供桌面服务,xrdp本身提供远程连接能力。如果你安装了GNOME, 那xorg就将GNOME桌面远程提供给你,如果你安装了xfce,xorg就将xfce桌面提供给你。可以说xorg是远程桌面服务的中间件,但是xorg和gnome配合不是很好,往往会有问题,但是网上也有解决方案,最佳的配合还是xfce+xorg+xrdp,由于xorg是ubuntu默认存在的图形化能力,所以只要在ubuntu中安装上xrdp,如果你的桌面系统是xfce就能直接使用远程桌面。

#如果没有xfce桌面,需要安装

sudo apt updatesudo apt install xubuntu-desktop

#安装xrdp sudo apt install xrdp#Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它仅仅对“ssl-cert” 用户组成语可读。运行下面的命令,将xrdp用户添加到这个用户组:sudo adduser xrdp ssl-cert #重启就能使用sudo systemctl restart xrdp

windows可以通过远程桌面客户端连接了,xrdp的端口和rdp一样都是3389,所以可以直接使用windows自带的远程桌面连接工具,连接口弹出窗口,默认选中了xorg,输入ubuntu用户名密码就可以登录,这个和ubuntu下面的屏幕共享没有半毛钱关系,当然,xrdp不仅可以选择xorg,还能选择vnc-any,也就是选择了这个,你可以连接vnc服务端,也就是 xrdp不仅可以和xorg配合,也能和vnc4server、vino、tightvncserver等vnc服务端配置使用。

二、vnc4server和xfce4安装

2.1 xfce4安装

sudo apt install xfce4* #xfce4桌面已经安装的可忽略

2.2 vnc4server安装

sudo apt install vnc4server #安装VNC4,注意不是TIGERVNC或者其他

2.2.1 第一次启动vnc4server

vncserver #启动,如有密码设置,则设置后记下vncserver -kill :1 #停止默认的vncsever

2.2.2 修改vnc配置文件xstartup

2.2.2.1 使用xfce远程桌面配置

vim ~/.vnc/xstartup #编辑已有的vncserver xstartup配置,如果打开是空的,则未正确找对该配置文件位置。

使用以下配置,该配置虽然简单,但是和其他配置相比,能解决以下报错:

xfce4-session: Another session manager is already running

····

#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSstartxfce4 &

2.2.2.2 使用GNOME原生桌面配置

#!/bin/sh unset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexport XKL_XMODMAP_DISABLE=1export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"export XDG_MENU_PREFIX="gnome-flashback-"[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconic &#gnome-terminal & #nautilus & gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

如果vnc后的画面是纯灰色,则安装gnome-panel

sudo apt install gnome-panel

遇到的一个问题:在vnc桌面中无法打开系统设置。待解决!

2.2.3 新建连接端口

$ vncserver -geometry 1920x1080 -depth 24 :4

参数说明:

-geometry 用于设置想打开的界面的分辨率,与自己的显示器分辨率匹配。如2560x1440、1920x1080、1024x768等。

-depth 用于设置显示颜色深度。最大24。

:4 显示号,自行指定。

删除虚拟桌面: vncserver -kill :桌面编号 (注意空格),如下面的命令是删除像素编号为2的虚拟桌面

vncserver -kill :2

2.2.4 查看已经打开的vnc端口

netstat -lnpt |grep Xvnc

2.2.5 使用vncviewer连接

输入IP和端口号,如xxx.xxx.xxx.xxx:5901

密码:123456

可以在Properties选项中调节终端显示的画质(High)和缩放比(100%或Scale to fit windows),之后全屏显示即可完全显示屏幕。

三、ubuntu离线安装软件

3.1 离线安装包的制作

在线电脑上通过如下指令下载XXXX软件所需要的deb包

sudo apt-get install XXXXX

如果在线电脑上已经安装过这些软件,可以使用--reinstall命令强制重新安然软件。

sudo apt-get --reinstall install XXXXX

执行完上述指令后,XXXX软件的安装包就下载到了/var/cache/apt/archives目录下

生成依赖关系

根目录下新建一个offlinePackage文件夹

sudo mkdir /offlinePackage

将下载的deb包拷贝到上述新建的文件夹下

注意:deb包在/offlinePackage/archives目录下,因为apt-get install XXX软件时会自动到archives目录下寻找安装包

sudo cp -r /var/cache/apt/archives /offlinePackage

3.修改文件夹的权限,可读可写可执行

sudo chmod 777 -R /offlinePackage/

4.建立deb包的依赖关系

sudo dpkg-scanpackages /offlinePackage/archives/ /dev/null |gzip>/offlinePackage/Packages.gz

如果出现错误:sudo: dpkg-scanpackages: command not found

则需要安装dpkg-dev工具:

sudo apt-get install dpkg-dev

5.将生成的Packages.gz包复制到和deb同目录下

sudo cp /offlinePackage/Packages.gz /offlinePackage/archives/Packages.gz

2.3.打包成压缩包,以备后用

tar cvzf offlinePackage.tar.gz offlinePackage/

保存offlinePackage.tar.gz文件到U盘或服务器

注1:如果提示E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) ,E:

无法获取 dpkg 前端锁

(/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?,则可能原因有两种,①apt-get前忘记加sudo,则需重新加上。

②此外,如果你使用的是克隆虚拟机,也可能会出此问题,需要重新启动电脑。。 ③如果还不行,ps -e | grep apt

查看进程编号,利用sudo kill 进程编号杀掉相应进程。(见网站) ④如果还是不行,则需要在安装输入sudo apt-get

update更新源,再重新输入安装指令。 注2:关于为什么本人包只有12mb,而部分人的离线包在170mb的原因:

(1)有时候安装不需要sudo apt-get update,这样就不会下载额外的deb包。

(2)建议在线机器先右上角的系统设置/软件安全与更新,更新频率设置为从不。否则有时候文件夹/计算机/var/archives会额外缓存很多版本更新的deb包(100+MB)比较占空间。

3.1 在另外一台Ubuntu上离线安装

1.插入U盘或光盘,将offlinePackage.tar.gz复制到根目录下,解压

sudo tar -xvf offlinePackage.tar.gz

2.将安装包所在和源路径添加到系统源source.list

注意:我们在添加之前可以先将原来的源备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

以备以后使用

sudo vi /etc/apt/sources.list

deb [trusted=true] file:/// offlinePackage/

然后将所有的其他deb全部注销掉(#),注:deb file:// /offlinePackage/后无需加archives/

更新系统源

sudo apt-get update

可能会提示执行apt --fix-broken install。执行即可。这是因为一般是使用dpkg安装软件出现依赖或者源找不到的情况,会提示使用这个命令来解决依赖,删除半安装的软件,因为不使用这个软件,使用 apt update或者apt upgrade将不能成功。

4.离线安装

此时,在没有网络的情况下,我们就可以安装我们之间下载的XXXX软件了

sudo apt-get install -y XXXXX --allow-unauthenticated #--allow-unauthenticated相当于增加私人下载权限

注意:

兼容性问题,如果我们制作安装包时,用的是64位的ubuntu,那么该离线包只能在其他64位系统上安装。

有些软件对ubuntu server和ubuntu desktop版也不兼容。总之,在什么系统下制作的离线包,就在什么系统下安装。

以上为本人的简单总结,参考的博客已经在开头说明。

其中可能会存在一些不正确的地方,希望大佬们多多指正!

如果觉得《Ubuntu18.04.6 LTS安装vnc(xfce桌面或GNOME原生桌面) 及实现离线Ubuntu服务器安装软件》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。