xfce4 Thunar中的自定义操作:如何在当前目录下创建链接?

时间:2014-01-09 15:24:24

标签: linux xfce

在Thunar中,可以定义自定义操作。右键单击菜单中已有“发送到桌面(创建链接)”选项。

我想要的是在Thunar中添加一个自定义的动作,它可以在当前目录下创建一个文件或文件夹的链接,这样我就可以立即将它复制到我想要的任何地方,而不是首先进入桌面使用已发布的“发送至”选项。

怎么做?

我知道我可以使用“ln”命令在终端中执行此操作,但我无法弄清楚如何在上下文菜单命令中为创建的链接分配新名称。

5 个答案:

答案 0 :(得分:4)

Thunar 1.6.3 站在要链接到的文件夹/文件上(突出显示) 转到编辑(在主菜单中),然后选择制作链接。

答案 1 :(得分:3)

转到Edit - Configure custom actions并尝试以下自定义操作。

enter image description here

答案 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