我的驱动器中有一些非常大的数据文件。我的默认编辑器是 gedit。我想知道是否可以将我的默认编辑器更改为其他编辑器,例如 glogg,用于处理超过特定大小阈值的文件。也就是说,我可以根据文件大小选择默认应用程序,即使文件格式相同?
答案1
您需要一个desktop
文件和一个包装脚本:
文件
desktop
创建桌面文件
nano ~/.local/share/applications/wrapper.desktop
添加下面的配置
[Desktop Entry] Name=File size dependent editor Comment=File size dependent editor Exec=/home/user/bin/wrapper %f Icon=gedit Terminal=false Type=Application Categories=Editor; StartupNotify=true MimeType=text/plain;
user
用你的用户名替换Exec=/home/user/bin/wrapper %f
,输出echo $USER
Icon=gedit
用您选择的名称或路径替换图标名称用于
MimeType=text/plain
指定要应用该决策的文件的 MIME 类型。通过以下方式分隔多个 MIME 类型;
通过以下方式获取 mime 类型
mimetype your_file
例如文本文件
text/plain
如果你想使用带有 CLI 的编辑器(如 nano),则将其
false
替换Terminal=false
为true
包装器脚本
创建新脚本
mkdir -p ~/bin nano ~/bin/wrapper
添加以下代码
#!/usr/bin/env bash LARGE_FILE_EDITOR="glogg" SMALL_FILE_EDITOR="gedit" MAX_SMALL_FILE_SIZE=1000000 FILESIZE=$(stat -c%s "$1") if [ "$FILESIZE" -le $MAX_SMALL_FILE_SIZE ]; then "$SMALL_FILE_EDITOR" "$1" else "$LARGE_FILE_EDITOR" "$1" fi exit 0
定义大文件编辑器
LARGE_FILE_EDITOR
,例如glogg
定义小文件编辑器
SMALL_FILE_EDITOR
,例如gedit
$SMALL_FILE_EDITOR
定义文件的最大大小MAX_SMALL_FILE_SIZE
,例如 1000000 表示 1MB使包装脚本可执行
chmod +x ~/bin/wrapper
重新启动 Unity/GNOME Shell,对于 GNOME Shell,例如Alt- F2,输入
r
并Enter将一个或多个文件类型与包装器关联
打开文件管理器并右键单击要应用决策的文件
点击Open With Other Application
点击按钮View All Applications
选择条目File size dependent editor
享受;)