win11宿主机VMware中ubuntu系统无法拖拽文件问题

一、系统介绍

宿主机:win11专业版        VMware:17.6.2        Ubuntu:24.04.2 LTS

二、问题描述

宿主机不能向虚拟机中拖拽文件,但是虚拟机可以向宿主机单向拖拽文件,尝试了装和重装VMware Tools,没解决,还是灰色的。后来倒腾过程中发现下共享文件夹都用不了了,之前还可以通过共享文件夹的方式实现文件流转,这下简直没别的办法了,到了必须要解决问题的时候了。

设置了文件夹共享但是在虚拟机中的/mnt/hgfs/目录下竟然没有看到文件夹

三、解决宿主机不能向虚拟机拖拽文件的问题

四处寻找解决办法,很多重复、过时、或者不适用的方法,只好问问大模型。原因貌似是因为:“VMware Workstation 17 中,Windows 11 主机与 Ubuntu 虚拟机之间的拖放功能可能会受到 Ubuntu 默认使用的 Wayland 显示服务器的影响。​Wayland 存在已知问题,可能导致从主机到虚拟机的拖放操作无法正常工作​”,所以可以通过禁用Wayland的方法恢复文件拖拽功能。

  • 永久禁用Wayland,先编辑GDM3配置文件
sudo nano /etc/gdm3/custom.conf
  • 找到并取消注释下面这行代码,确保其值为 false,而后关闭保存文件。
WaylandEnable=false
  • 重启 GDM3 以应用更改,再重启虚拟机,Over.
sudo systemctl restart gdm3

现在宿主机可以向虚拟机拖拽文件了,但是虚拟机却不能向宿主机拖拽文件,还是单向拖拽...

open-vm-tools和open-vm-tools-desktop都已经装上了是最新版,有时间再摸索下找找其他的解决方法。

四、解决共享文件夹不显示的问题

之前一直是直接设置共享后在虚拟机/mnt/hgfs/目录下就能看到共享文件夹,后面倒腾一阵之后竟然不见了。

知乎上看到一个方法

sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

 运行之后共享文件夹回来了!

### 关于TB33电机驱动模块STM32的使用 #### 硬件连接说明 对于TB33电机驱动模块而言,其功能类似于其他常见的电机驱动芯片如L298N或者提到过的TB6612,主要用于控制直流电机的速度和方向。当配合STM32控制器一起工作时,需要建立两者之间的电气连接以确保常通信。 具体来说,硬件连接通常涉及以下几个方面: - **电源供应**:确认给TB33提供适当的工作电压范围内的稳定供电[^1]。 - **信号线对接**:将STM32的相关PWM输出引脚连接到TB33对应的输入端口上,以便通过改变占空比调节电机转速;同时也要注意IN1/IN2等逻辑电平输入端子与MCU GPIO接口间的确配对,从而实现反转操作[^2]。 ```c // 初始化GPIO配置函数示例 void MX_GPIO_Init(void){ __HAL_RCC_GPIOA_CLK_ENABLE(); // 用PA端口时钟 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } ``` 请注意上述代码仅为初始化部分IO端口作为输出用途的例子,在实际项目里还需要进一步设置定时器产生PWM波形以及编写具体的业务逻辑处理程序。 #### 示例代码片段 下面给出一段简单的C语言伪代码用来演示如何利用STM32发送指令给TB33使能电机运转并调整旋转速率: ```c #include "stm32f1xx_hal.h" #define MOTOR_FORWARD HIGH #define MOTOR_BACKWARD LOW void MotorControl(uint8_t direction,uint16_t speed){ if(direction==MOTOR_FORWARD){ HAL_GPIO_WritePin(Motor_IN1_Port,Motor_IN1_Pin,HIGH); HAL_GPIO_WritePin(Motor_IN2_Port,Motor_IN2_Pin,LOW); }else{ HAL_GPIO_WritePin(Motor_IN1_Port,Motor_IN1_Pin,LOW); HAL_GPIO_WritePin(Motor_IN2_Port,Motor_IN2_Pin,HIGH); } TIM_HandleTypeDef *htim = &htim3;//假设使用TIM3生成PWM __HAL_TIM_SET_COMPARE(htim,TIM_CHANNEL_1,speed);//设定比较寄存器值即PWM周期中的高电平持续时间 } int main(){ /*省略了系统初始化等内容*/ while(1){ MotorControl(MOTOR_FORWARD,750); // 前进且速度设为最大值的一半左右 HAL_Delay(2000); MotorControl(MOTOR_BACKWARD,500); // 反向运行较慢些 HAL_Delay(2000); } } ``` 此段代码展示了基本的方向切换及调速方法,但并未涵盖全部细节比如错误检测机制或是更复杂的运动模式设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值