文章目录

  • 参考
  • 一、前提
    • 1.1 dpkg和apt-get的区别dpkg
    • 1.2 apt install与apt-get install的区别
    • 1.3 apt-get的update和upgrade的区别
    • 1.4 apt autoremove purge clean
    • 1.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 第一次启动vnc4server
      • 2.2.2 修改vnc配置文件xstartup
        • 2.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控制被控端。

参考

https://blog.csdn.net/dakey2008/article/details/107462813 该博客使用xfce和vnc4server部署远程连接
https://www.jianshu.com/p/8dd11e9f5852 该博客使用vnc4server和ubuntu原始桌面系统进行远程连接搭建,并完成离线系统安装。在我自己的安装中,使用ubuntu本身的gnome桌面系统会存在灰屏的问题,没得解决。最终使用xfce桌面系统完成了搭建。
https://www.lategege.com/?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的区别

  1. apt 命令是对之前的apt-get apt-cache 等的封装,提供更加统一,更加适合终端用户使用的接口。
  2. apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。
  3. apt是为交互使用而设计的。最好在shell脚本中使用apt-get和apt-cache,因为它们在不同版本之间向后兼容,并且有更多选项和功能。对于基本命令,apt和apt-get两个工具的语法是相同的。
  4. 另外补充一个区别,在默认配置的情况下,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安装软件的话,就只能以 源码安装方式 来安装了

参考https://blog.csdn.net/qq_24406903/article/details/88376829

apt 清除命令 待删除的软件

如:apt purge python
  1. 在桌面版的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 update
sudo 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/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

2.2.2.2 使用GNOME原生桌面配置

#!/bin/sh                                                                       unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
export 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/.Xresources
xsetroot -solid grey
vncconfig -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 离线安装包的制作

  1. 在线电脑上通过如下指令下载XXXX软件所需要的deb包
sudo apt-get install XXXXX

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

sudo apt-get --reinstall install XXXXX

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

  1. 生成依赖关系

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

 sudo mkdir /offlinePackage
  1. 将下载的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/

  1. 更新系统源
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服务器安装软件相关推荐

  1. ubuntu18.04.4 LTS 安装NVIDIA驱动亲测有用方法2020年最新及常见问题避坑

    环境准备 ubuntu18.04.4 LTS系统(我的是单系统,不是双系统也不是虚拟机,原先是家庭版的win10,嫌太慢换成旗舰版的win7,然后一堆文件权限管理问题搞得头大,就剁手单装ubuntu) ...

  2. Ubuntu18.04.5 LTS 安装优麒麟应用商店的坑

    安装很简单,sudo aptitude install ubuntu-kylin-software-center 装一堆依赖. 这都没啥问题.网上也都只说到这里.. 坑在后面. 卸载后,会发现你无法打 ...

  3. Ubuntu18.04系统的安装及使用,不能开机,输入法不对等

    需要提前准备的:U盘(16GB),windows10上面安装Linux,下载 Ubuntu 镜像,Ubuntu18.04这是在清华镜像网上下载比官网上快好多,需要安装一些国外软件的时候可以去这个上面找 ...

  4. Tesla T4 在Ubuntu18.04上的安装使用

    Tesla T4 在Ubuntu18.04上的安装使用 在默认情况下,安装 tesla T4 的驱动,尝试很多版本都无法正确安装,安装完之后会出现: nvidia-smi NVIDIA-SMI has ...

  5. 【3】Ubuntu18.04下载与安装,以及中文输入法的安装

    Ubuntu18.04下载与安装 一.下载 二.安装(在VMware 16 pro中安装Ubuntu18.04) 三.Ubuntu中安装中文输入法 1.检查 fcitx 框架 2.安装输入法 一.下载 ...

  6. 在Ubuntu18.04.2LTS上安装电子书软件

    在Ubuntu18.04.2LTS上安装电子书软件 一.前言      很多时候我们想在Ubuntu上阅读电子书,但是Ubuntu上的软件对于这种阅读的界面支持并不好,因此我们需要自己加入喜欢的阅读器 ...

  7. ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位

    ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位 鱼香ROS介绍: 鱼香ROS是由机器人爱好者共同组成的社区,欢迎一起参与机器人技术交流. 进交流群请加机器 ...

  8. 【联想台式电脑 win11系统安装Ubuntu18.04】记录安装过程中网卡驱动、显卡驱动等问题

    0 情况说明: 电脑为联想台式机:Lenovo IdeaCentre-GeekPro 内存:32G 磁盘:512固态硬盘+2T机械硬盘 CPU:i7-12700 GPU:NVIDIA RTX 3060 ...

  9. ubuntu18.04在终端安装pip3时404 Not Found [IP: 91.189.91.24 80]_木绿的博客-CSDN博客

    ubuntu18.04在终端安装pip3时404 Not Found [IP: 91.189.91.24 80]_木绿的博客-CSDN博客 解决办法如下 亲测可用 sudo apt-get updat ...

最新文章

  1. Metasploit设置VERBOSE参数技巧
  2. 【Spring框架家族】SpringBoot基本介绍
  3. SAP License:FI学习笔记
  4. Gym - 101194F(后缀数组)
  5. simpledateformat格式_为什么日期格式化时必须有使用y表示年,而不能用Y?
  6. 安卓app可以用python写吗_安卓app可以用python写吗
  7. vue中点击,将内容复制到剪贴板
  8. 初二生态系统思维导图_有关初中生态系统的思维导图
  9. pgsql截取字符串函数_postgresql——字符串函数
  10. 音视频技术开发周刊 | 164
  11. Uniapp video标签autoplay不生效问题(进入页面瞬间)
  12. DRM框架梳理-- dumb-buffer的分配和绑定到crtc
  13. 键盘输入 kbhit()
  14. 禁用win10无用服务,提高Win10系统游戏性能!
  15. CAD 查找指定部件数量
  16. loadrunner 操作mysql_loadrunner学习笔记(从MYSQL中取数据)
  17. MacM1安装homebrew步骤
  18. createfont
  19. RSA、SM2公钥证书信息的读取
  20. JS使用技巧-如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?

热门文章

  1. ​海外公链集体哑火? BATJ迅雷却成为区块链3.0拓荒者 【区块链3.0一周年】
  2. 虚拟同步发电机_微电网中的虚拟同步发电机并联技术
  3. for var in 循环报错
  4. MERCURY 54M MW54U/150M MW150U USB网卡驱动 Linux 驱动
  5. 游戏配音如何提高声音感知力
  6. adb shell dumpsys deviceidle whitelist 打盹模式(Doze)白名单
  7. 证大中学10月份历史学科研讨
  8. Fastlane 一键打包/发布APP - 使用记录及踩坑
  9. 香港等海外公司怎样开通大陆版微信公众号?
  10. c语言复数运算 除法,c语言 复数的运算