AlmaLinux右键菜单(基于GNOME桌面)

文章目录

前言

在使用VSCode的过程中,AlmaLinux没能像Windows一样在右键菜单上显示打开方式,所以找了一下解决方案,罗列出来

前提说明

虽然说无论是media还是StackOverflow都推荐使用这条命令:

shell 复制代码
wget -qO- https://raw.githubusercontent.com/harry-cpp/code-nautilus/master/install.sh | bash

当然,如果你找的是年代比较久远的帖子,你看到的应该是

shell 复制代码
wget -qO- https://raw.githubusercontent.com/cra0zy/code-nautilus/master/install.sh | bash

这只是作者改了个名而已,使用第一个就好了。但是呢,我也查看了源码,对Ubuntu的支持较好,使用了apt-get与dnf安装nautius-python,再将作者的Python脚本放入这个插件中,然后就能够出现Open in VSCode之类的字样。

实际上对于AlmaLinux的 9.2 9.2 9.2与 9.3 9.3 9.3来说都是适合的,因为AlmaLinux本来就有dnf。但是呢,我还是想直接利用现有的内容做一点修改。

在文件上右键

针对GNOME桌面,在右键菜单中考虑文件就需要在~/.local/share/applications/mimeapps.list中增加一个可选项,就像usr/share/applications/*.desktop中的文件一样给出一定的配置。

在这里我们仅针对html相关文件进行优化,于是增加配置:

text 复制代码
[Added Associations]
text/html=code.desktop
text/css=code.desktop
text/javascript=code.desktop

当然,如此配置的前提是你有一个code.desktop,即已安装VSCode标准版,而不是VSCodium。如果你选择安装了VSCodium,也没有太大关系,将code.desktop修改为codium.desktop就好了。

P.S.:我个人选择的是源码安装VSCodium,所以codium.desktop是自己写的。如果安装的是deb或者rpm等安装包,可以选择使用安装包自动生成的内容。

这样设置之后,当你在html相关的文件上点击右键的时候,就会出现Open With Visual Studio Code,并且还有VSCode的小logo。

在文件夹上右键

借鉴:在Ubuntu的右键菜单中增加open-with-code

很可惜的是,目前还没有发现能够类似Windows一样在任意位置右键都能够打开文件夹的功能。所以我目前使用的是直接右键想要打开的文件夹,出现一个Scripts选项,然后选择其中的open in code选项。

如何实现呢?我们找到这个文件夹:~/.local/share/nautilus/scripts,在这里创建脚本文件open-in-code.sh,并写入如下内容:

shell 复制代码
#!/bin/bash
if [ -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
    set $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
    if [ $# -eq 1 ]; then
        destination="$1"
    else
        zenity --error --title="Error - Open in Visual Studio Code" \
        --text="You can only select one file/directory."
        exit 1
    fi
else
    destination="`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed 's/^file:\/\///'`"
fi

# It's only possible to go to local directories
if [ -n "`echo "$destination" | grep '^[a-zA-Z0-9]\+:'`" ]; then
    zenity --error --title="Error - Open in Visual Studio Code" \
    --text="Only local directories can be used."
    exit 1
fi

exec code "$destination"

然后赋予权限:

shell 复制代码
$ sudo chmod +x ~/.local/share/nautilus/scripts/open-in-code.sh

如果你现在手头没有什么事情的话,重启就能生效。

但如果你有点事情不能立即重启,就需要想办法重启nautilus了。当然等到事情结束了再重启也行。

生效后,我们就可以如图所示使用VSCode打开文件夹:

虽然可能与你想象的不太一样,但是能用。

相关推荐
程序员-Benothing3 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
‎ദ്ദിᵔ.˛.ᵔ₎4 小时前
linux 进程信号 (上)
linux·服务器
15Moonlight4 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
wuminyu4 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle5 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen5 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方5 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip
pride.li5 小时前
Python 安装
linux·python·ubuntu
笔墨登场说说5 小时前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos
luo_guibin5 小时前
Linux系统下OpenSSL升级全流程,新旧版本切换
linux·运维·服务器