【问题标题】:Custom action in xfce4 Thunar: how to create a link under current directory? [closed]xfce4 Thunar 中的自定义操作:如何在当前目录下创建链接? [关闭]
【发布时间】:2014-01-09 15:24:24
【问题描述】:

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

我想要的是在 Thunar 中添加一个自定义操作,它可以在当前目录下创建文件或文件夹的链接,以便我可以立即将其复制到我想要的任何地方,而不是先去桌面通过使用已经可用的“发送到”选项。

如何做到这一点?

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

【问题讨论】:

    标签: linux xfce


    【解决方案1】:
    #!/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
    

    【讨论】:

      【解决方案2】:

      图纳尔 1.6.3 站在要链接到的文件夹/文件上(突出显示) 转到编辑(在主菜单中)并选择制作链接。

      【讨论】:

        【解决方案3】:
        ln -s %f 链接\到\ %n

        完美适用于目录和文件

        【讨论】:

          【解决方案4】:

          在这个线程的帮助下,我制作了一个 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 中有一个“粘贴链接”命令。

          【讨论】:

            【解决方案5】:

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

            【讨论】:

            • 这仅适用于我向%n 添加内容(因为链接的文件名不能与目标相同)。例如,ln -s %f %n1ln -s %f %n-link。或者,如果您像我一样喜欢相对链接,ln -sr %f %n1
            • 我找到了一个更好的解决方案。在我上面的评论中,ln -sr %f %n1text.txt 更改为text.txt1。要将 text.txt 改为 text1.txt,请使用以下命令:ln -sr %f $(echo %n | sed -e 's/\(\.[a-zA-Z]*\)/1\1/g' )
            【解决方案6】:

            您可以使用thunar-plugins python 包。 它允许您通过文件对话框选择如何命名以及将所选文件或目录的新链接放置在何处。

            它还安装了一个Checksums 操作和一个Plugins 管理器,用于管理使用它的插件。如果您愿意,您可以禁用两者。

            【讨论】:

              猜你喜欢
              • 2014-07-30
              • 2012-12-17
              • 2012-03-24
              • 1970-01-01
              • 2012-02-24
              • 2016-07-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多