目录
一、Ubuntu远程终端并实现文件上传下载
1.1Ubuntu桥接模式设置和新用户的创建
1.2Ubuntu的远程登录并上传和下载文件
1.3在Xming中进行Ubuntu的图形访问
二、树莓派远程登录并实现文件上传下载
2.1树莓派在putty上的远程登录
2.2使用ftp远程登录并实现文件上传下载
三、Linux下的图形界面软件使用(Xming、Putty、树莓派)
3.1Xming下载与安装
3.2Xming和Putty配置
3.3通过Putty进行图像界面软件的运行
思考题:
1.X窗口协议与远程桌面VNC-viewer协议有什么差异?
2.你会发现新建的账号无法使用sudo命令,请问如何解决这个问题?
一、Ubuntu远程终端并实现文件上传下载
1.1Ubuntu桥接模式设置和新用户的创建
(1)设置桥接模式
先将Ubuntu的网络连接方式修改为桥接模式
Win10主机的网络查看:ipconfig
(2)配置Ubantu的网络参数:使用静态ip配置
sudo nano /etc/netplan/01-netcfg.yaml
保存文件并运行以下命令应用配置:
使用另一台电脑使用ping命令观察是否成功:
(3)添加用户
(4)安装ssh服务
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
1.2Ubuntu的远程登录并上传和下载文件
(1)使用Putty连接虚拟机
打开Putty输入自己的虚拟机的IP地址,port选为22。随后点击Open进行访问。
进入终端,使用我们创建的账号进入虚拟机
(2)文件的上传和下载
让同学在win10下用 ftp或xshel等软件l远程登录你的Ubunt系统,上传和下载文件(注意要打开SSH服务);
我们使用FileZilla
输入完主机、用户名、密码、端口号等信息之后,连接,随后在左侧选择要上传的文件夹即可
1.3在Xming中进行Ubuntu的图形访问
Xming的下载与安装在后面树莓派中有讲
安装好之后打开让它在后台运行。
打开PuTTY,进入Connection→SSH→Auth→X11 forwarding并勾选,然后使用classmate1访问虚拟机
输入指令连接windows系统:
set DISPLAY=xxx.xxx.xxx.xxx:0
输入命令打开windows下载的Xing:
gedic
打开火狐浏览器:
二、树莓派远程登录并实现文件上传下载
2.1树莓派在putty上的远程登录
1.Putty的下载与安装
进入Putty官网下载:Download PuTTY: latest release (0.83)
双击安装文件,自定义安装路径,然后一直NExt到安装完成,点击finish
双击Putty图标文件,进入主界面
2.树莓派的远程登录
关于树莓派环境的配置,和如何创建多个用户,可以看我之前写的这个博客:树莓派3b:环境配置,VNC远程控制并进行简单代码运行_树莓派vnc-CSDN博客
接下来我们在另一台同子网下的主机进行对应操作。
在框中对应输入树莓派的IP地址,(注意选择SSH服务),点击Open连接
若跳出下图界面,选择Accept
输入用户名和密码
2.2使用ftp远程登录并实现文件上传下载
在电脑命令行中使用ssh命令登录树莓派
1.vsftpd的下载
输入以下命令下载vsftpd:sudo apt-get install vsftpd
2.修改配置文件
输入以下命令进入文件vsftpd.v并对应将图片中圈出的语句前的#删掉
cd /etc/
sudo nano vsftpd.conf
3.重新启动服务
sudo service vsftpd restart
4.ftp远程登录树莓派
打开cmd命令行
输入ftp <树莓派的IP地址>
然后对应输入用户名和密码进行登录
4.文件上传
首先我们在电脑中找到我们要上传的文件路径
然后我们在命令行中写入下面代码
mkdir week8 //新建文件夹,用于存放待会上传的文件
ls //查看所有文件夹,可以看见我们新创建的week8
cd week8 //打开week8文件夹
lcd E:\ //进入本地目录中,LCD 后面跟自己文件所在的目录
put helloworld.c //将helloworld.c文件上传至该文件夹中
通过ls
命令我们可以查看该文件是否上传成功
可以看到文件已经成功上传。
5.文件下载
输入下面命令
lcd D:\ //进入本地目录D盘
get helloworld.c //下载helloworldworld.c文件,多个文件下载使用mget
lcd D:\ //进入本地目录D盘 get helloworld.c //下载helloworldworld.c文件,多个文件下载使用mget
我们可以在D盘中找到该文件
三、Linux下的图形界面软件使用(Xming、Putty、树莓派)
3.1Xming下载与安装
Xming官网下载地址:https://sourceforge.net/projects/xming/
分别下载Xming和其字体包
自行选择对应的目录安装,确保选中"Xming Font Server",我直接默认配置安装的。
3.2Xming和Putty配置
1.Xming的配置
打开XLaunch出现如下界面
-
选择"Multiple windows"
-
Display number设为0
-
勾选"No Access Control"
-
其他保持默认
完成后可看见Xming在后台运行
2.Putty配置
(1)打开PuTTY,在Session中输入:
-
Host Name: 树莓派/Ubuntu服务器的IP地址
-
Port: 22(默认SSH端口)
(2)配置X11转发:
-
Connection > SSH > X11
-
勾选"Enable X11 forwarding"
-
X display location设为"localhost:0"
-
点击Open建立连接
-
输入用户名和密码登录
如果正确配置了PuTTY的X11转发,不需要手动设置DISPLAY变量。SSH连接会自动设置正确的DISPLAY环境变量
可以通过以下命令验证:
echo $DISPLAY
若没有,可以通过以下命令进行DISPLAY环境配置
set DISPLAY=<电脑IP地址>:0
3.测试图形程序
输入以下命令进行测试:
# 测试简单图形程序
xeyes
3.3通过Putty进行图像界面软件的运行
1.图形界面文件的打开
首先通过VNC远程登录到树莓派系统桌面
由于博主之前已经配置好桌面系统环境,这里就不赘述了,没下载VNC的可以看这个博客:树莓派3b:环境配置,VNC远程控制并进行简单代码运行_树莓派vnc-CSDN博客
输入以下命令打开对应的图形界面
gedit <文件名>
若没下载gedit,可以通过下面命令进行下载
sudo apt update
sudo apt install gedit -y
可以在桌面系统看见helloworld.c文件已经被打开
2.图形界面软件的打开
输入以下命令:
firefox
若出现以下报错,其为 Firefox 在树莓派上运行时无法检测到 GPU 加速支持,导致图形渲染问题。
我们通过以下命令安装缺失的图形库:
sudo apt install libgl1-mesa-dri libgl1-mesa-glx -y
然后我们重新运行Firefox,就可以出现如下界面
思考题:
1.X窗口协议与远程桌面VNC-viewer协议有什么差异?
X窗口系统(X Window System,简称X11)和VNC(Virtual Network Computing)是两种不同的远程图形界面技术,它们在设计原理、通信方式和使用场景上有显著差异。
基本概念
X窗口协议(X11)
设计目标:提供网络透明的图形显示服务,允许应用程序(客户端)在远程运行,而图形界面(服务端)在本地显示。
核心思想:分离应用程序逻辑和图形渲染,支持分布式图形计算。
典型应用:Linux/Unix系统下的图形程序远程运行(如通过SSH -X转发)。
VNC(如RealVNC/TigerVNC)
设计目标:实现完整的远程桌面控制,将远程主机的屏幕画面传输到本地,并允许本地操作。
核心思想:传输屏幕像素变化,实现“所见即所得”的远程操作。
典型应用:跨平台远程桌面管理(如Windows远程协助、服务器维护)。
协议架构
X11
客户端-服务器模型:
X Server:运行在本地,负责显示图形和接收输入(如键盘、鼠标)。
X Client:运行在远程的应用程序(如Firefox、MATLAB)。
通信方式:传输绘图指令(如“画线”“填充颜色”),而非像素数据。
网络端口:默认端口6000+(如DISPLAY=:0对应6000)。
VNC
服务器-客户端模型:
VNC Server:运行在远程主机,捕获屏幕像素并发送给客户端。
VNC Viewer:运行在本地,接收像素数据并发送输入事件(如鼠标点击)。
通信方式:传输压缩的屏幕像素(类似视频流)。
协议:基于RFB(Remote Framebuffer Protocol),默认端口5900+。
性能与效率
对比项 | X11 | VNC |
---|---|---|
带宽需求 | 低(传输指令) | 高(传输像素,依赖压缩算法) |
延迟 | 低(适合交互式应用) | 较高(频繁画面更新时可能卡顿) |
适用场景 | 单个图形应用远程运行 | 完整桌面远程控制 |
安全性
对比项 | X11 | VNC |
---|---|---|
原生加密 | 无(需SSH隧道保护) | 支持SSL/TLS加密(如TigerVNC) |
认证方式 | xauth或IP限制(较弱) | 密码/密钥认证 |
使用场景
X11的适用场景:
在本地显示远程Linux服务器上的图形程序(如通过ssh -X运行Wireshark)。
开发调试分布式图形应用(如科学计算可视化)。
VNC的适用场景:
远程控制完整的桌面环境(如Windows远程桌面替代方案)。
跨平台支持(Windows/macOS/Linux均可作为服务端或客户端)。
2.你会发现新建的账号无法使用sudo命令,请问如何解决这个问题?
在 Ubuntu 中,新建的用户无法使用 *sudo* 命令是因为该用户未被添加到 *sudo* 用户组(或 */etc/sudoers* 文件中未授权)。我们可以通过root账户操作:
切换到root用户:
su - root
或
sudo - i
将新用户添加到sudo组:
usermod -aG sudo 新用户名
验证是否生效:
groups 新用户名