嘟嘟宝贝 發表於 2025-7-31 00:00:00

Windows与Ubuntu实现文件互传的两种方式

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一、直接采用共享文件的方式实现</li><li>二、通过VMware tool实现windows桌面直接拖拽文件到Ubuntu桌面</li><li>三、总结修改配置文件和更换登录区别</li><li>Ubuntu20.04与Windows实现文件夹共享<ul class="second_class_ul"><li>Linux&nbsp;中 Samba 的下载与配置</li><li>Windows 中访问共享文件夹</li><li>问题及解决</li><li>解决</li></ul></li></ul></div><p class="maodian"></p><h2>一、直接采用共享文件的方式实现</h2>
<p>首先在虚拟机设置中的选项-&gt;共享文件-&gt;总是启用-&gt;添加主机共享文件夹目录(我设置的是桌面文件)</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="419" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I1113203J8.png" width="741" /></p>
<p>先查看Ubuntu文件</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="456" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I11132045I.png" width="747" /></p>
<p>在mnt文件夹下的hgfs文件中,一般是空文件,表明还未设置成功。</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="443" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I1113204526.png" width="672" /></p>
<p>&nbsp;在中端输入:</p>
<div class="dxycode"><pre class="brush:bash;">sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other</pre></div>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="160" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I11132043b.png" width="621" /></p>
<p>注:由于每次重启都要执行,可将该命令放在 <strong>/ect/rc.local</strong> 里面(该文件是开机启动会执行的一个文件)</p>
<p>若/ect/rc.local为空,添加下面语句,并给其增加执行权限<strong>sudo chmod +x /etc/rc.local</strong></p>
<div class="dxycode"><pre class="brush:bash;">#!/bin/sh -e

sudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other</pre></div>
<p>则重启不需要再重复此操作</p>
<p>最终显示:</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="256" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I1113205M7.png" width="622" /></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="113" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I1113205953.png" width="381" /></p>
<p class="maodian"></p><h2>二、通过VMware tool实现windows桌面直接拖拽文件到Ubuntu桌面</h2>
<p>首先确保自己已经下载了VMware Tools工具</p>
<div class="dxycode"><pre class="brush:bash;">首先移除系统原来的虚拟工具
sudo apt-get autoremove open-vm-tools
安装桌面版的虚拟工具
sudo apt-get install open-vm-tools-desktop</pre></div>
<p>有的Ubuntu到这里就可以直接进行拖拽文件处理,如果依旧无法实现文件拖拽则继续以下操作</p>
<p>接下来有两种方式可以实现</p>
<p>1、切换用户,选择xorg类型登录</p>
<p>(1)首先介绍一下xorg是什么吧</p>
<p>Xorg(也称为X.Org Server)是一种用于提供图形显示和用户输入的开源X窗口系统的实现。它是众多Linux发行版中最常用的图形服务器之一。Xorg的主要功能包括以下几个方面:</p>
<p>图形显示:Xorg负责管理和呈现图形界面,将图形元素绘制到显示器上。它提供了对窗口、菜单、按钮、图标等图形元素的基本支持,使得用户可以通过鼠标、键盘等输入设备与图形界面进行交互。</p>
<p>多用户环境:Xorg支持多用户环境,允许多个用户同时在同一台计算机上使用图形界面。每个用户可以通过登录到自己的帐户并启动独立的Xorg会话来使用图形界面。</p>
<p>窗口管理:Xorg提供了窗口管理功能,允许用户打开、关闭、移动、调整大小和切换窗口。它管理窗口的图层、焦点和交互方式,使得用户可以方便地在不同的应用程序之间切换和操作。</p>
<p>输入设备管理:Xorg负责接收和处理来自输入设备(如键盘、鼠标、触摸板等)的事件,并将其传递给相应的应用程序。它提供了与输入设备的交互接口,使得用户可以通过输入设备与图形界面进行交互操作。</p>
<p>总的来说,Xorg是一种提供图形显示和用户输入支持的图形服务器。它为Linux和其他类Unix系统提供了一个基于图形的用户界面,并提供了丰富的功能和灵活性,使用户可以方便地使用和管理计算机上的图形应用程序。</p>
<p>简单讲就是一个默认服务器显示的一个软件包。</p>
<p>(2)注销用户重新登录</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="687" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I1113206163.png" width="718" /></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="343" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I111320N92.png" width="656" /></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="328" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I111320I26.png" width="792" /></p>
<p>(3) 选择Ubuntu Xorg模式直接登录便可以实现文件拖拽</p>
<p>&nbsp;2、修配配置文件</p>
<p>(1)首先介绍一下需要修改的配置文件是:&ldquo;/etc/gdm3/custom.conf&rdquo;</p>
<p>是 GNOME Display Manager (GDM) 的配置文件。GDM 是Linux操作系统中一种常见的登录管理器,它负责提供用户登录界面并处理用户登录会话。</p>
<p>请注意,编辑此文件需要 root 或管理员权限。在编辑完成后,你可能需要重新启动系统或重新加载 GDM 服务,以使更改生效。</p>
<p>修改配置文件相对简单,直接在中断输入一下命令行找到</p>
<div class="dxycode"><pre class="brush:bash;">sudo gedit /etc/gdm3/custom.conf</pre></div>
<p>(2)如果存在</p>
<div class="dxycode"><pre class="brush:bash;">sudo: gedit: command not found</pre></div>
<p>原因是gedit文件损坏了直接在终端中先卸载在安装即可</p>
<div class="dxycode"><pre class="brush:bash;">sudo apt-get remove gedit
sudo apt-get install gedit</pre></div>
<p>(3)waylandEnable =false将前面的注释(#)取消即可。</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="538" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I111320M52.png" width="701" /></p>
<p>&nbsp;接着重启虚拟机(reboot)</p>
<p class="maodian"></p><h2>三、总结修改配置文件和更换登录区别</h2>
<p>将 <code>WaylandEnable=false</code> 设置为 <code>false</code> 表示禁用 Wayland 作为默认的显示服务器,而使用传统的 Xorg 作为图形显示服务器。</p>
<p>Wayland 和 Xorg 是两种不同的图形显示协议和架构。Wayland 被设计为一种更现代、更简洁的图形显示协议,旨在取代传统的 Xorg。由于其设计上的优势,Wayland 可以提供更好的性能、更低的延迟和更好的安全性。</p>
<p>然而,尽管 Wayland 在未来可能成为主流的显示服务器,部分应用程序和显卡驱动程序仍然可能对 Xorg 有依赖性。在某些情况下,禁用 Wayland 并使用 Xorg 可能更适合你的需求。</p>
<p>通过将 <code>WaylandEnable</code> 设置为 <code>false</code>,你可以告诉系统在登录时使用 Xorg 而不是 Wayland。这样做可以确保系统默认使用传统的 Xorg 作为图形显示服务器,与你的应用程序和驱动程序保持兼容。</p>
<p>需要注意的是,具体的配置和设置可能会因操作系统的不同而有所区别。请确保在编辑配置文件时遵循相关操作系统的文档或建议。</p>
<p>展示结果</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="538" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I111320W26.png" width="735" /></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" height="299" src="https://zhuji.jb51.net/uploads/allimg/20250731/2-250I111320SM.png" width="710" /></p>
<p class="maodian"></p><h2>Ubuntu20.04与Windows实现文件夹共享</h2>
<p class="maodian"></p><h3>Linux&nbsp;中 Samba 的下载与配置</h3>
<div class="dxycode"><pre class="brush:bash;">sudo update apt                #更新工具包
sudo apt install samba                # 下载 Samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak                # 尽量备份一下
sudo vim /etc/samba/smb.conf        # 修改配置文件
# 添加以下内容,其中
                        # 共享文件夹的名称,与 path 中的文件夹名称一致,用于标识这个共享配置
path = /home//shared                # 在当前用户的目录下创建 shared 文件夹用于共享
available = yes                # 表示这个共享是否可用
valid users =         # 允许访问的用户列表
read only = no                # 是否只读
browsable = yes                # 是否可以在网络邻居中被浏览到
public = yes                # 是否允许匿名访问,但是受 valid users 的限制
writable = yes                # 是否可以进行写操作
# 退出编辑器
# Samba 的用户管理操作,必须要新添加用户,最好与当前 Linux 系统用户一致
sudo pdbedit -L                                        # 查看 Samba 用户列表
sudo smbpasswd -a         # 添加 Samba 用户,然后按要求设置密码
sudo smbpasswd                 # 修改密码
sudo smbpasswd -x         # 删除用户
sudo ufw allow samba                # 防火墙设置,允许通过
sudo system restart smbd        # 重启服务
sudo mkdir /home/hao/shared                                        # 创建文件夹
sudo chmod -R 777 /home//shared        # 修改访问权限</pre></div>
<p class="maodian"></p><h3>Windows 中访问共享文件夹</h3>
<ol><li><code>&ldquo;Win + E&rdquo;</code>打开资源管理器</li><li>输入<code>\\\</code>,然后回车</li><li>输入之前配置的用户名和密码</li><li>如果连接成功,这个共享文件夹就会在资源管理器中显示为一个网络驱动器。</li><li>将需要共享的文件夹复制、粘贴到映射的网络驱动器上</li><li>操作结束</li></ol>
<p class="maodian"></p><h3>问题及解决</h3>
<p>这时候发现,<code>Windows</code>&nbsp;显示已经共享过去,但是&nbsp;<code>Linux</code>&nbsp;中找不到,比如:</p>
<div class="dxycode"><pre class="brush:bash;">ls
# 但是不输出共享的文件</pre></div>
<p>因为此时的文件还<strong>未挂载</strong></p>
<p class="maodian"></p><h3>解决</h3>
<div class="dxycode"><pre class="brush:bash;"># 确保已安装cifs-utils工具包,以便支持 CIFS 文件系统:
sudo apt update
sudo apt install cifs-utils
# 确保挂载点存在
sudo mkdir -p /mnt/samba_shared
# 挂载点与共享位置关联
sudo mount -t cifs -o username=,password=,vers=3.0 ///[前面的共享标识] /mnt/samba_shared
# -t cifs:指定文件系统类型为 CIFS(Common Internet File System),这是 Samba 使用的文件系统协议。
# -o:指定挂载选项,包括用户名、密码和协议版本等。
# username=your_name:Samba 服务的用户名。
# password=your_password:Samba 服务的密码。
# vers=3.0:指定使用的 SMB 协议版本。
# //192.168.11.111/shared:Samba 服务器的共享路径。
# /mnt/samba_shared:本地挂载点。
# 挂载成功后,通过ls命令查看挂载点下的文件
ls /mnt/samba_shared
# 卸载挂载点
sudo umount /mnt/samba_shared
# 检查挂载状态
mount | grep cifs
# 确保 smbd 运行
sudo systemctl status smbd
sudo systemctl start smbd</pre></div>
<p>以上就是windows与Ubuntu实现文件互传存在两种方式的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: Windows与Ubuntu实现文件互传的两种方式