use*_*952 6 default default-programs 14.04
我的驱动器中有一些非常大的文件作为数据。我的默认编辑器是 gedit。我想知道我是否可以将我的默认编辑器更改为其他内容,例如 glogg,对于超过特定大小阈值的文件。也就是说,我可以根据文件的大小选择我的默认应用程序,即使文件格式相同吗?
您需要一个desktop文件和一个包装脚本:
文件desktop
创建桌面文件
nano ~/.local/share/applications/wrapper.desktop
Run Code Online (Sandbox Code Playgroud)添加下面的配置
[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;
Run Code Online (Sandbox Code Playgroud)替换user为Exec=/home/user/bin/wrapper %f您的用户名,输出
echo $USER
Run Code Online (Sandbox Code Playgroud)将图标名称替换为Icon=gedit您选择的名称或路径
用于MimeType=text/plain指定要应用决策的文件的 MIME 类型。通过分离多种 mime 类型;
通过获取 mime 类型
mimetype your_file
Run Code Online (Sandbox Code Playgroud)
例如对于文本文件
text/plain
Run Code Online (Sandbox Code Playgroud)如果您想使用带有 CLI 的编辑器(例如 nano),请将falsein替换Terminal=false为true
包装脚本
创建一个新脚本
mkdir -p ~/bin
nano ~/bin/wrapper
Run Code Online (Sandbox Code Playgroud)添加下面的代码
#!/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
Run Code Online (Sandbox Code Playgroud)为 中的大文件定义编辑器LARGE_FILE_EDITOR,例如glogg
为 中的小文件定义编辑器SMALL_FILE_EDITOR,例如gedit
$SMALL_FILE_EDITOR定义in的最大文件大小MAX_SMALL_FILE_SIZE,例如 1MB 为 1000000
使您的包装脚本可执行
chmod +x ~/bin/wrapper
Run Code Online (Sandbox Code Playgroud)重新启动 Unity/GNOME Shell,对于 GNOME Shell 例如Alt- F2,输入r和Enter
将一种或多种文件类型与包装器关联
打开文件管理器并右键单击要应用该决定的文件
点击Open With Other Application
单击按钮View All Applications
选择条目File size dependent editor
享受;)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |