在Thunar中,可以定义自定义操作。右键单击菜单中已有“发送到桌面(创建链接)”选项。
我想要的是在Thunar中添加一个自定义的动作,它可以在当前目录下创建一个文件或文件夹的链接,这样我就可以立即将它复制到我想要的任何地方,而不是首先进入桌面使用已发布的“发送至”选项。
怎么做?
我知道我可以使用“ln”命令在终端中执行此操作,但我无法弄清楚如何在上下文菜单命令中为创建的链接分配新名称。
答案 0 :(得分:4)
Thunar 1.6.3 站在要链接到的文件夹/文件上(突出显示) 转到编辑(在主菜单中),然后选择制作链接。
答案 1 :(得分:3)
转到Edit - Configure custom actions
并尝试以下自定义操作。
答案 2 :(得分:2)
ln -s %f Link\ to\ %n
完美适用于目录和文件
答案 3 :(得分:1)
借助此线程,我制作了一个Shell脚本,用于从剪贴板中的路径粘贴符号链接:
#! /bin/sh
XCLIP=`xclip -o -selection c`
if [ -f "$XCLIP" ] && [ -d "$1" ]; then
ln -s "$XCLIP" "$1"
fi
并将其调用放入自定义操作(/full/path/pastel.sh%f)。需要在自定义操作复选框中选择目录和“任何文件”。我不确定在这种情况下%f的工作方式...但是可以。 所以现在我终于在xfce中有了一个“粘贴链接”命令。
答案 4 :(得分:0)
#!/bin/bash
# 'paste links' custom action for thunar
# + process multiple files
# + support non-ascii file names
# custom action settings
# + command like `~/bin/_paste_links %f`
# + appearance condition: directories
# require: xclip
# no license + no warranty
o="$1"
[ -z "$o" ] && o=./ # default target dir = $PWD
[ ! -d "$o" ] && exit 1
while read i; do
if [[ "${i:0:1}" != '/' ]] \
&& [[ "${i:0:8}" = 'file:///' ]]
then
# decode path
i="${i:7}" # remove 'file://' prefix
i=$(echo -e "${i//%/\\x}") # urldecode
fi
[ ! -e "$i" ] && continue # file exists?
# -r = create relative link
ln -v -s -r "$i" "$o" # create link
done < <(xclip -o -se c; echo) # process substitution