VMware中Ubuntu报错:Drag and drop is not supported

文章介绍了在安装Ubuntu后遇到的无法通过拖拽文件共享的问题,给出了通过安装gnome-shell-extension-prefs和nemo扩展,以及调整Desktop图标和StartupApplication设置的解决方案。

最近在安装ubuntu系统后发现不能通过拖拽文件实现文件的共享,提示Drag and drop is not supported,以下是解决方案:

 sudo apt install gnome-shell-extension-prefs
 sudo apt install  nemo

左下角的application中选择extension, 将Desktop icons NG 选项关闭

左下角的application中选择startup application preference, 添加如下命令

name: nemo desktop
command: nemo-desktop
comment: nemo desktop

添加成功后重启系统即可。

### Jupyter Notebook 中拖放文件夹功能未支持的原因分析 在 Jupyter Notebook 的环境中,“Drag and Drop is currently not supported for folders”的提示表明当前版本不支持通过拖放操作上传整个文件夹的功能[^1]。此行为并非错误,而是设计上的限制。 #### 技术背景说明 Jupyter Notebook 是一种基于 Web 的交互式计算环境,主要用于数据分析、可视化以及机器学习等领域。其前端实现依赖于 JavaScript 和 HTML5 文件 API 来处理用户的文件上传请求。然而,HTML5 File API 当前仅允许单个文件或多个独立文件的上传,而不支持直接将目录结构作为单一实体传递给服务器[^2]。 以下是几种替代方案来解决这一问题: --- ### 替代解决方案一:压缩并上传文件夹 用户可以先将目标文件夹打包成 ZIP 或其他常见存档格式,随后利用 Jupyter Notebook 提供的标准文件上传接口完成传输过程。一旦上传成功,则需解压该档案至工作区路径下。具体命令如下所示: ```bash !unzip /path/to/uploaded/archive.zip -d /desired/output/directory/ ``` 上述方法不仅绕过了原生界面对于多级子目录的支持缺失状况,同时也保持了原有层次关系不变[^3]。 --- ### 替代解决方案二:借助第三方扩展插件增强功能 社区开发了一些专门针对此类需求优化过的工具包或者浏览器书签脚本,它们能够显著改善用户体验的同时弥补官方客户端存在的不足之处。例如Nbextensions集合里就包含了名为"File Upload"的小部件,它允许多选模式下的批量导入动作而无需手动逐一遍历每一个单独项目[^4]。 安装步骤通常涉及以下几个方面: 1. 安装nbextension管理器; 2. 启用特定附加组件服务; 3. 配置参数选项满足个性化偏好设定。 注意,在执行任何更改之前,请务必确认所使用的库版本兼容性以免引发不必要的冲突现象发生。 --- ### 替代解决方案三:采用命令行方式同步数据资源 如果频繁遭遇类似场景困扰的话,那么考虑切换到更高效便捷的数据交换途径不失为明智之举之一——即运用scp/rsync等远程复制协议直接作用于后台运行的服务端实例之上。这样既规避掉了图形化界面上可能遇到的各种局限性条件约束,又能充分利用现有基础设施优势达到事半功倍的效果。 典型应用场景包括但不限于以下情形: - 将本地主机中的实验成果推送至云端存储空间保存备份副本; - 自动拉取最新版源码仓库更新内容准备进一步调试验证测试等工作流程环节当中去等等... 示例代码片段展示如何使用Python paramiko模块模拟SSH会话从而实现自动化任务调度目的: ```python import os from paramiko import SSHClient, AutoAddPolicy def upload_directory(local_path, remote_base_dir, hostname='localhost', port=22, username=None, password=None): ssh = SSHClient() ssh.set_missing_host_key_policy(AutoAddPolicy()) try: ssh.connect(hostname, port, username=username, password=password) sftp = ssh.open_sftp() for root, dirs, files in os.walk(local_path): relative_root = os.path.relpath(root, local_path) remote_current_dir = os.path.join(remote_base_dir, relative_root).replace("\\", "/") if relative_root != ".": try: sftp.mkdir(remote_current_dir) except IOError as e: pass # Directory may already exist for file_name in files: local_file = os.path.join(root, file_name) remote_file = os.path.join(remote_current_dir, file_name).replace("\\", "/") print(f'Uploading {local_file} -> {remote_file}') sftp.put(local_file, remote_file) sftp.close() finally: ssh.close() upload_directory('/your/local/folder/', '/target/remote/path/') ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值