我的~/.bashrc
:https://pastebin.com/VA7RLA2E
我的~/.Xresources
:https://pastebin.com/qSF1z0w4
如何让 XTerm.bashrc
在启动时自动获取源代码?目前,每当我打开新的 XTerm 窗口时,它都不会源~/.bashrc
.
我的操作系统是 Ubuntu 18.04。
答案1
在你的~/.Xresources
文件中,有一行
xterm*loginShell: true
这将使 XTerm 作为登录 shell 启动 shell 会话。当bash
作为登录 shell 运行时,它会读取您的文件,但除非显式读取,否则~/.bash_profile
不会读取~/.bashrc
(该文件由非登录交互式会话读取)。~/.bash_profile
source
您有两个选择:
- 删除指定
~/.Xresources
shell 应该是登录 shell 的行。您可能必须退出图形登录会话才能重新读取该文件并使更改生效。 让您的
~/.bash_profile
文件成为source
您的~/.bashrc
文件,同时确保您的~/.bashrc
文件不会~/.bash_profile
同时获取该文件(这将创建无限循环)。如何执行此操作的示例(这将添加到文件中
~/.bash_profile
):if [ -o interactive ] && [ -f ~/.bashrc ]; then source ~/.bashrc fi
您可能需要对
/etc/profile
vs执行类似的操作,或者如果您的系统尚未执行此操作,则无论/etc/bash.bashrc
该系统位于您的系统上还是任何位置。bashrc
然而,正如/etc/profile
所有类似 Bourne 的 shell 所读取的那样,而不仅仅是bash
,它需要进行一些调整:if [ -n "$BASH" ] && [ "$BASH" != /bin/sh ] && [ -o interactive ] && [ ! -o posix ] && [ -f /etc/bash.bashrc ] then source /etc/bash.bashrc fi
答案2
我会做以下事情:
- 确保 .bashrc 位于您的主文件夹中
确保它归您所有
xterm -e bash --rcfile /home/someuser/.bashrc