我正在以非 root 用户身份在服务器上安装程序。具体来说它是 tmux 1.5,但在我看来,这应该广泛适用于所有本地安装的程序(我提到了程序名称,以防这个问题最终不是我自己的错误)。
该程序要求我安装一些依赖库(例如 libevent 和 ncurses)。所以,我在本地安装了它们,因为我没有 root 访问权限
cd $HOME/library/installation/folder
DIR=$HOME/local
./configure --prefix=$DIR
#... make ... make install
Run Code Online (Sandbox Code Playgroud)
现在,要安装该程序,我还必须包含库包:
cd $HOME/program/installation/folder
./configure --prefix=$DIR CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
#... make ... make install
Run Code Online (Sandbox Code Playgroud)
好的,所以这会将程序安装到 $HOME/local/bin 中,但如果我运行可执行文件: $HOME/local/bin/tmux ,则会出现以下错误:
tmux:加载共享库时出错:libevent-2.0.so.5:无法打开共享对象文件:没有这样的文件或目录
在我看来,程序找不到所需的库,但文件 libevent-2.0.so.5 确实存在于 $HOME/local/lib 中,如配置选项中所指定。我想知道如何让程序识别已安装的库以便运行。我尝试将符号链接放在 $HOME/lib、$HOME/bin 和 $HOME/local/bin 中,但这些都不起作用。任何想法和建议将不胜感激
我最近开始使用 tmux 来真正改善我的终端会话。我需要做的一件事是连接到远程服务器,该服务器也在运行 tmux。但是,我发现当前窗口标题(在 tmux 中表示为 #T)在辅助 tmux shell 中没有更新。我想从辅助会话中更新 primary-tmux-session 值。
“#T”显然采用了 PROMPT_COMMAND 处理的值,这是每次重新加载提示时运行的命令。但是,如果我连接到远程服务器,它会打开一个服务器端 shell,然后打开 tmux 并在辅助 tmux 会话中运行一个全新的 shell。我知道如何更新主 tmux 窗口标题的唯一方法是重新加载服务器端 shell 提示,但这不会在辅助 tmux 会话中发生。
是否有任何命令可以连接两个会话以便它们共享 #T ?我最初认为使用终端覆盖选项可能可行,但它要么不起作用,要么我设置错误。
任何想法或建议将不胜感激。谢谢!
(PS。我怀疑这个问题更适合超级用户,但我之前曾问过一个关于堆栈溢出的问题。我希望这是这类问题的正确论坛)