我安装了一个没有窗口环境的类 Unix 操作系统;即,只是一个文本模式的控制台,没有 GUI。
是否可以更改控制台使用的字体?
需要明确的是,我不是在谈论 KDE 或 GNOME 等桌面环境附带的终端模拟器。
我发现的几乎每个页面都会在登录后自动启动 Xorg,无需解释,~/.bash_profile例如:
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec xinit
fi
Run Code Online (Sandbox Code Playgroud)
我想$XDG_VTNR可能是获取当前 TTY 编号的变量,但是,已经有一个名为 的命令tty,它可以满足相同的目的。
我的问题:
$XDG_VTNR?何时何地设置?tty是内置命令,而$XDG_VTNR由 Xorg 提供,为什么人们选择使用$XDG_VTNR而不是内置命令tty?我在做什么:
XZ_OPT='-T0 -9 -vv' tar -vvcJf ~/backup.tar.xz ...FILES
Run Code Online (Sandbox Code Playgroud)
我怀疑是否tar真的通过了给定的选项,我已经尝试过这些事情:
-vvin XZ_OPT,但xz输出中没有消息,也没有--verboseps aux | grep xz用来查看是否tar会为spawn另一个进程xz,但我没有看到tar创建任何进程。XZ_OPT环境真的有用吗?如何验证?xz在tar执行过程中找不到进程?难道tar真的产卵过程来压缩文件?$ xz --version
xz (XZ Utils) 5.2.5
liblzma 5.2.5
$ tar --version
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.6
Run Code Online (Sandbox Code Playgroud) 我的意思是使用以下形式的GNUenv或 BSD命令:env
env [name=value ...] [utility [args ...]]
Run Code Online (Sandbox Code Playgroud)
看起来没有办法部分转义特殊字符value,但我不太确定如何env实现解析该value部分。
我知道有很多方法可以通过 shell 的功能来做到这一点,但我想在没有 shell 帮助的情况下传递文字字符串(有点像execute envby exec)。也就是说,我需要找到某种带有换行符并受env命令支持的文字字符串格式。例如:
env FOO=LITERAL_STRING ruby -e 'puts ENV["FOO"]'
Run Code Online (Sandbox Code Playgroud)
这里LITERAL_STRING应该包含一个带有换行符的文字字符串并且env应该理解该格式。
使用上述命令,预期输出应该是:
hello
world
Run Code Online (Sandbox Code Playgroud)
我想知道是否可能。我将不胜感激你的帮助。
环境
env
我使用 BSD env,所以它无法打印版本。不知道是否man可以帮助:
$ man env | tail -n1
BSD April 17, 2008 BSD
Run Code Online (Sandbox Code Playgroud)
操作系统
$ sw_vers
ProductName: macOS
ProductVersion: 11.6
BuildVersion: 20G165
Run Code Online (Sandbox Code Playgroud)
两者exec都env不要 fork,请参阅以下示例:
docker run --rm -it ubuntu:18.04 sh -c 'exec sleep 1 & ps -Ho pid,ppid,cmd'
Run Code Online (Sandbox Code Playgroud)
PID PPID CMD
1 0 sh -c exec sleep 1 & ps -Ho pid,ppid,cmd
7 1 sleep 1
8 1 ps -Ho pid,ppid,cmd
Run Code Online (Sandbox Code Playgroud)
PID PPID CMD
1 0 sh -c exec sleep 1 & ps -Ho pid,ppid,cmd
7 1 sleep 1
8 1 ps -Ho pid,ppid,cmd
Run Code Online (Sandbox Code Playgroud)
PID PPID CMD
1 0 sh -c env sleep 1 & ps -Ho pid,ppid,cmd …Run Code Online (Sandbox Code Playgroud)