gnome桌面,右键点击某个文件后弹出的菜单,如何自定义

各种窗口管理器和美化相关
回复
头像
驿窗project
帖子: 225
注册时间: 2019-01-17 12:17
系统: Arch/Debian
联系:

gnome桌面,右键点击某个文件后弹出的菜单,如何自定义

#1

帖子 驿窗project » 2022-02-16 16:52

在打开的文件管理器中,可以浏览文件和目录。用鼠标右键点击一个文件时,会弹出一个菜单,我想在这个右键菜单中添加一个或两个自定义选项。

添加的内容:

kvm虚拟机文件(qcow2)可以使用qemu-nbd命令来连接到nbd设备后挂载到某个目录,然后像读写目录一样对qcow2文件进行读写,我想把这个功能添加到鼠标右键菜单中,最终的效果是,在文件管理器中找到目标qcow2文件,用鼠标右键点击,弹出菜单中有一项“nbd挂载”或“nbd操作”,点击后,可以执行下面的命令:
sudo qemu-nbd -c /dev/nbd0 /home/peter/win7.qcow2
sudo mount /dev/nbd0p1 /home/peter/vdisk

这样,我就可以直接使用文件管理器对qcow2进行内容读写操作。

同样,如果可以,我想在右键菜单中添加另一个自定义菜单项,用来卸载nbd设备:
sudo umount /dev/nbd0p1 (或者sudo umount /home/peter/vdisk)
sudo qemu-nbd -d /dev/nbd0p1



ps:
以上目的就是为了把命令行方式转为鼠标右键操作,等同于把命令行转换为GUI,中间可能要输入密码。

用命令行实现我没问题了,但添加到鼠标右键菜单来执行,我不会。

系统:debian11
桌面:gnome
头像
驿窗project
帖子: 225
注册时间: 2019-01-17 12:17
系统: Arch/Debian
联系:

Re: gnome桌面,右键点击某个文件后弹出的菜单,如何自定义

#3

帖子 驿窗project » 2022-02-16 20:54

我看懂了一部分:
脚本文件应该放的目录位置。我把脚本放到目录中后,右键点击qcow2文件,可以出现自定义菜单项。

没看懂脚本本身:
脚本示例中,我主要看了“Mount ISO”这个脚本,基本没看懂。

最后我用了下面的脚本:

代码: 全选

#!/bin/bash

echo "密码" | sudo -S qemu-nbd -c /dev/nbd6 /home/peter/tmpfs/test.qcow2
echo "密码" | sudo -S mount /dev/nbd6p1 /home/peter/vdisk
这个脚本可以工作,但需要把密码明文写在脚本里。我应该怎么改,可以不用写明文密码,而是提示输入密码?
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: gnome桌面,右键点击某个文件后弹出的菜单,如何自定义

#4

帖子 astolia » 2022-02-16 23:42

你可以用zenity创建个输入对话框,也可以用pkexec来代替sudo提权。

代码: 全选

zenity --password | sudo -S xxx
pkexec xxx
头像
驿窗project
帖子: 225
注册时间: 2019-01-17 12:17
系统: Arch/Debian
联系:

Re: gnome桌面,右键点击某个文件后弹出的菜单,如何自定义

#5

帖子 驿窗project » 2022-02-17 13:44

果然可以。
我用的zenity --password。
:em38
回复