AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1179100
Accepted
tomsk
tomsk
Asked: 2019-10-07 05:13:43 +0800 CST2019-10-07 05:13:43 +0800 CST 2019-10-07 05:13:43 +0800 CST

将项目添加到 Dolphin 的上下文菜单中

  • 772

如果我右键单击某些内容,是否可以在 Dolphin (KDE Plasma) 的上下文菜单中添加新项目?

我想制作一个名为Move to applications的脚本,该脚本仅在我右键单击.desktop文件然后将其移动到/usr/share/applications/文件夹时才会显示。或者有没有更快的方法将.desktop文件移动到/usr/share/applications/文件夹。

kubuntu dolphin plasma-5 context-menu
  • 2 2 个回答
  • 4912 Views

2 个回答

  • Voted
  1. Best Answer
    DK Bose
    2019-10-08T03:31:34+08:002019-10-08T03:31:34+08:00

    您可以创建一个服务菜单来做您想做的事。

    • 创建文件夹~/.local/share/kservices5
    • 创建文件夹~/.local/share/kservices5/ServiceMenus
    • 在~/.local/share/kservices5/ServiceMenus创建一个名为move.desktop的纯文本文件

    将以下内容粘贴到move.desktop

    [Desktop Action move-file]
    
    Exec=/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu mv "%U" /usr/share/applications
    
    Name=Move file
    Icon=document-send
    
    [Desktop Entry]
    Actions=move-file
    
    MimeType=application/x-desktop;
    
    ServiceTypes=KonqPopupMenu/Plugin
    Type=Service
    X-KDE-Priority=TopLevel
    

    使用确保只有当目标文件是.desktopMimeType=application/x-desktop;文件时才能看到此上下文菜单条目。

    这是创建服务菜单之前Dolphin 上下文菜单的图像:

    创建服务菜单之前的海豚上下文菜单

    在创建服务菜单后截取的以下屏幕截图中,您将看到一个附加条目,移动文件:

    注意移动文件条目

    单击移动文件将提示您输入密码,因为您要将文件移动到/usr/share/applications。

    需要密码

    提供密码后,所选文件将移动到/usr/share/applications:

    文件现在已从其原始位置删除,现在位于 */usr/share/applications*

    请注意,所有者与已存在的 .desktop 文件不同。无论您选择何种方式,您都需要解决该问题:

    文件所有权不同


    如果您需要更改所有权/权限,您可以Exec=像这样修改该行(以更改所有权):

    Exec=printf %U | xsel -b -i && /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu mv "%U" /usr/share/applications && cd /usr/share/applications && /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu chown root:root $( basename $(xsel -b -o) )
    

    其他步骤包括使用printf和xsel将文件的路径放入剪贴板,然后使用basename去除文件名以外的所有内容。当然,你会kdesu再次需要!不知道有没有更短的方法!

    • 9
  2. kdb
    2020-10-03T00:42:12+08:002020-10-03T00:42:12+08:00

    在 KDE Plasma 下,最简单的解决方案可能是添加一个新的“打开方式”条目。为此,请转到Configure Desktop( systemsettings5) > Applications> File Associations。

    然后使用搜索字段选择相关的文件类型;它将为 mimetype 名称和文件扩展名过滤器提供结果。键入.kdelnkor.desktop将调出 mime-type application/x-desktop。

    在面板Application Preference Order中,单击按钮+ Add配置新程序。默认情况下,新条目被选为默认程序;您需要将脚本移动到订单中更合适的位置。

    • 1

相关问题

  • 如何找回 Kubuntu 升级通知图标?

  • 在 Kmail 中配置 GPG

  • 修复 USB 驱动器自动通知

  • 如何在 Kubuntu 中获得 Cantor 的 R 后端?

  • 为什么我的 Kubuntu 会话在恢复后需要相当长的时间才能响应?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve