当您通过 ssh 连接到服务器时,您使用服务器设置还是您自己的设置?

当您通过 ssh 连接到服务器时,您使用服务器设置还是您自己的设置?

假设我正在运行一个在 tmux 会话中运行 irssi 的 Linux 服务器。(已分离)我的问题是,当我 ssh 进入服务器并重新附加会话时,我在第二台 PC 上使用的快捷方式会生效吗?那么 irssi 和 tmux 会话会遵循我在进行访问的电脑中的设置,还是会遵循服务器设置?

我要求设置 tmux 和 irssi。

答案1

对于刚接触 Unix 的人以及从一个 Unix 系统远程连接到另一个 Unix 系统的整个业务来说,这种类型的困惑很常见,所以这里有一个规范的答案,希望将来也能对其他人有所帮助。

假设这是您的场景:

       .----------.                    .----------.
       | Server S |                    | Client C |
       |          |                    |          |
       |          |                    |          |
       '----------'                    '----------'
       /home/user1                     /home/user1              
       /home/user1/.tmux.conf          /home/user1/.tmux.conf   
       /home/user1/.irssi/config       /home/user1/.irssi/config

用户帐户

在上述情况中,我们有 2 台计算机和 2 个用户帐户。 2个账户?是的,即使这两个系统具有相同的用户,用户1,这些帐户除了碰巧具有相同的名称之外,彼此完全无关。

软件

如果您在两个系统上都安装了软件,则两个系统上的软件彼此完全无关。例如,您可以使用tmux版本 1服务器S, 尽管客户C可能有版本2。

您可以检查计算的版本,如下所示:

$ tmux -V
tmux 1.4

$ irssi -v
irssi 0.8.15 (20100403 1617)

设置和主目录

大多数 Unix 软件都使用设置文件。配置文件。这些文件通常驻留在用户的“主”目录中。/home/user1,在我们上面的例子中。

笔记:其他用户有自己的主目录,又名。/home/user2, ETC。

因此,每个应用程序通常都会在您的“主”目录中保留一组默认设置,例如:

/home/user1/.tmux.conf

或者

/home/user1/.irssi/config

它们的命名方式并没有真正的一致性。您会注意到它们前面包含一个句点(“.”)。这样,当您ls在“home”目录中执行操作时,这些配置文件将从输出中省略。

例如:

$ ls
adir1  adir2  afile1  afile2

$ ls -a
.  ..  adir1  adir2  afile1  afile2  .irssi  .tmux.conf

第一个命令显示减去这些句点的所有内容(也称为点文件),而该命令的第二个版本包括一个开关 ,-a它显示这些“隐藏”文件。

设置(配置这个花哨的词)

现在有了一些基础,我们可以更好地理解你的问题。希望此时很明显,一个系统上的配置设置完全独立于另一个系统上的设置。

例如:

服务器 S 上的版本tmux可能是版本 1,同时 tmux客户端 C 上的版本可能是版本 2,并且也许这 2 个版本具有不同的特性和/或功能,因此这 2 个系统上的设置文件将与一个系统完全不同其他。

因此,人们通常会做的是将文件维护在主位置,然后将它们复制(或推送)到他们使用它们的各种系统。注意维护他们可能遇到的各个版本之间的任何差异。

这可能看起来很痛苦,但实际上很好,因为它迫使您作为用户以一种更周到和受控的方式管理文件,而不是让它们只是疯狂地漂浮,就像帆船上的舵一样,没有人在场。舵。

还有一些工具(scp 和/或 rsync)可以帮助促进文件的管理和/或移动,但这是另一个主题了。

使用了哪些设置?

所以当你ssh进入服务器S并启动一个tmux您正在使用的tmux设置的会话用户1这是本地的服务器S。如果您断开连接服务器S,然后从客户C,您仍在使用来自的配置文件服务器S

请记住这一点。将使用的设置是软件运行位置的本地设置。tmux正在本地运行服务器S,所以它将使用本地设置服务器S。也同样如此irssi

连接ssh。您正在ssh本地运行客户端客户C, 连接到服务器S,因此ssh正在使用的配置是本地的配置客户C

答案2

澄清后:那两个人随服务器“旅行”;您连接的客户端不会影响两者。

答案3

一旦您在终端多路复用器内启动 IRC 客户端,两个应用程序都会从​​存储(可能是服务器上的磁盘)中读取各自的配置。应用程序运行后,配置保持不变(当然,除非您明确更改它)。无论您从何处连接到会话,快捷方式都是相同的。

因此,一般来说:有效设置是正在运行的程序的设置

为了避免混淆,最好保持设置同步,可以使用网络文件系统作为主目录,也可以将配置存储在VCS(最好是一个分布式一并经常同步。

相关内容