使用 登录到远程主机ssh -X me@host,我成功运行了gnome-terminal -e "tail -F /var/log/file" &. 当我注销然后第二天尝试同样的事情时,我得到了这个:
无法获取会话总线:无法连接到套接字 /tmp/dbus-K99gT9yDjS:连接被拒绝 回退到非工厂模式。召唤GConf恶魔失败;退出。联系配置服务器失败;一些可能的原因是您需要为 ORBit 启用 TCP/IP 网络,或者由于系统崩溃而使 NFS 锁失效。有关信息,请参阅http://projects.gnome.org/gconf/。(详细信息 - 1:无法连接到会话:无法连接到套接字 /tmp/dbus-K99gT9yDjS:连接被拒绝)
在这种情况下如何运行 gnome-terminal?
我有一个 base64 编码的文件名列表,格式为{base64-encoded part here}_2015-11-12.pdf. 我正在尝试解码该文件列表并将其作为另一个列表在命令行上返回,以换行符分隔。这是我现在正在尝试的:
find . -name "*_*" -printf "%f\0" | sed 's/_....-..-..\.pdf//g' | xargs -0 -i echo "{}" | base64 -d
Run Code Online (Sandbox Code Playgroud)
我想我在这里做的是。. .
_2015-11-12.pdf文件名的一部分)其结果显然是所有 base64 解码文件名的大字符串,每个名称由一个空字符分隔,整个字符串后跟一个换行符。该期望的结果将是对自身一行每个单独的解码文件名。
我尝试了各种技巧来尝试解决这个问题,但我还没有找到任何有效的方法。我试过... | base64 -d | echo,... | base64 -d && echo等,试图在沿途的各个点插入换行符。似乎到值结束时| base64 -d,它们都作为单个字符串同时处理。我试图找到一种方法将每个值base64 -d一次发送给一个,而不是作为文件名的整体列表。