我使用 Raspbian(即 Debian)Linux。我一直在读一些书,但仍然不清楚。
在我看来,当你启动到命令行时,它并没有真正使用像 mpv 这样的 GUI 东西。成熟的桌面和 CLI 之间是否存在折衷方案?只是终端窗口,但可以启动mpv、照片查看器等?
我可以在桌面上使用lf/ uberzug,但我想要比桌面运行资源更少的东西。
我在安装 Debian 12 时忘记安装桌面环境。
安装时我卡在 tty1,没有 GUI,只有文本。我在 Facebook 群组上询问过,那里的人说我忘记安装桌面环境了。
我应该怎么办?
linux debian desktop-environment software-installation system-installation
在下面的代码中,我必须轮询$tmp_input才能继续执行代码,因为wezterm cli send-text它是异步的。这可确保一切$tmp_input准备就绪。
tmp_input=$(mktemp ./tmp_input.XXXXXX)
echo "read input; echo \$input > $tmp_input" | wezterm cli send-text --pane-id $bottom_pane_id --no-paste
while [ ! -s "$tmp_input" ]; do
sleep 1
done
input_value=$(cat "$tmp_input")
rm "$tmp_input"
echo "Input was: $input_value" | wezterm cli send-text --pane-id $bottom_pane_id --no-paste
Run Code Online (Sandbox Code Playgroud)
该代码有效,但我想知道是否有另一种方法可以实现相同的结果。
参考:下面的问题 驱动器名称?“/dev/sda”的“sda”部分的正确术语是什么?
鉴于:
我想要做什么:我希望能够以编程方式(如果可能的话,在 shell 脚本中)启动它的设备类型,并根据启动设备更改某些特征。
简单的例子:
Boot device = "mmxxxxx"
Print "Booted from SD card!"
Boot device = "sda"
Print "Booted from Attached Storage!"
Run Code Online (Sandbox Code Playgroud)
我想要做的是提取(为了需要一个更好的术语)根分区派生的主要设备类型(即“ sd”、“mm”或其他任何内容,具体取决于作为根安装的设备分割。)
我怀疑我可以以某种方式列出安装在 root 上的设备,而不列出 中的所有内容mount,然后提取最后一个斜杠后的前两个字母。。。
Linux 环境下的设备管理器是什么?\xc2\xa0\n那个\xc2\xa0 是,设备管理器实际上是做什么的?
\nhttps://en.wikipedia.org/wiki/Udev说
\n\n\nudev(用户空间/dev)是Linux内核的设备管理器。
\n
这意味着什么?
\n维基百科继续:
\n\n\n作为devfsd和hotplug的后继者,\nudev主要管理目录中的设备节点
\n/dev。\xc2\xa0\n在\xc2\xa0与\xc2\xa0相同\xc2\xa0时,udev\xc2\xa0还处理\n时引发的所有用户空间事件硬件设备被添加到系统中或\xc2\xa0从\xc2\xa0it中删除,\n包括根据某些设备的要求加载固件。
这句话对我来说没有任何意义。\xc2\xa0\n首先,“管理\xc2\xa0目录中的设备节点/dev”是什么意思?
\n\n它是一个自动启用或禁用设备驱动程序的软件。\xc2\xa0\n\xc2\xa0“自动”部分通常是通过\n\nxc2\xa0检测到新设备已连接到计算机来完成的。\ xc2\xa0\n\xc2\xa0除了激活设备驱动外,\nit\xc2\xa0还会自动配置\xc2\xa0设备\n(以\xc2\xa0为例,当\xc2\xa0it时自动挂载\xc2\xa0USB驱动检测到它,而不需要\xc2\xa0打开\xc2\xa0磁盘管理器或\xc2\xa0运行\xc2\xa0命令来\xc2\xa0安装驱动器)。
\n
“自动启用或禁用设备驱动程序”的目的是什么?\xc2\xa0\nso\xc2\xa0内核可以与设备或\xc2\xa0the\xc2\xa0程序对话?\xc2\xa0\nso\xc2\xa0the\xc2 \xa0devices 可以在用户空间或内核空间操作吗?
\n我使用的是 Ubuntu 23.10 x64。该time程序有一个 -f 标志,但当我运行时它说-f找不到命令。
time -f "%Uu %Ss %er %MkB %C" ./countwords hamlet.txt
Run Code Online (Sandbox Code Playgroud)
我试图让time程序除了默认输出之外还输出内存使用情况。
这是一件令人好奇的事情,但我想知道目前 Linux 内核有多少是用 Rust 编写的?我的意思是百分比,如果你知道是哪一部分?是只有驱动程序还是纯 Rust 内核的真正部分?
注意:在 github.com/torvalds/linux 页面上有一个统计数据表明没有生锈。
C 98.3%
Assembly 0.7%
Shell 0.4%
Makefile 0.2%
Python 0.2%
Perl 0.1%
Other 0.1%
Run Code Online (Sandbox Code Playgroud) 我对今天通知的 Debian 12 的新更新运行了apt-get upgrade和。apt-get dist-upgrade
最后一个失败并显示此消息,稍后可以看到它涉及 NVidia 驱动程序(我使用 Debian 发行版之一)编译:
\ndkms: autoinstall for kernel: 6.1.0-18-amd64 failed!\nrun-parts: /etc/kernel/postinst.d/dkms exited with return code 11\nRun Code Online (Sandbox Code Playgroud)\nsudo apt-get dist-upgrade\nLecture des listes de paquets... Fait\nConstruction de l'arbre des d\xc3\xa9pendances... Fait\nLecture des informations d'\xc3\xa9tat... Fait \nCalcul de la mise \xc3\xa0 jour... Fait\nLes NOUVEAUX paquets suivants seront install\xc3\xa9s\xc2\xa0:\n libllvm16 linux-headers-6.1.0-18-amd64 linux-headers-6.1.0-18-common linux-image-6.1.0-18-amd64\nLes paquets suivants seront mis \xc3\xa0 jour\xc2\xa0:\n linux-headers-amd64 linux-image-amd64 postgresql-14\n3 mis \xc3\xa0 jour, 4 nouvellement install\xc3\xa9s, 0 \xc3\xa0 enlever …Run Code Online (Sandbox Code Playgroud) 考虑在 bash 命令行中输入以下代码片段:
\n$ echo $(( $(wc -l letter.txt | cut -c1-4)/66 + 1))\nRun Code Online (Sandbox Code Playgroud)\n假设letter.txt存在并且有 66*4 行,那么这会将字符串 5 放在命令行上。现在我无法理解的是,根据我对命令行处理的了解,这个结论是如何得出的。
我的书(Sobell 的《Linux 实用指南》 , 4e)说
\n\n\nBourne Again Shell 按以下顺序扫描每个标记以查找各种类型的扩展和替换。大多数这些过程将单词扩展为单个单词。只有大括号扩展、单词分割和路径名扩展可以更改命令中的单词数(变量“$@”\xe2\x80\x94 的扩展除外,请参见第 474 页)。
\n\n
\n- 支撑扩展(下一页)
\n- 波形符扩展(第 368 页)
\n- 参数和变量扩展(第 368 页)
\n- 算术展开(第369页)
\n- 命令替换(第 371 页)
\n- 分词(第 372 页)
\n- 路径名扩展(第 372 页)
\n- 进程替换(第 374 页)
\n- 删除报价(第 374 页)
\n
根据上述内容,算术扩展似乎会首先求值,如果是这样,则令牌$(wc -l letter.txt | …
bash ×3
command-line ×3
linux ×3
debian ×2
apt ×1
block-device ×1
cinnamon ×1
desktop ×1
dist-upgrade ×1
licenses ×1
linux-kernel ×1
linux-mint ×1
nvidia ×1
rust ×1
shell ×1
shell-script ×1
terminal ×1
terminology ×1
time ×1
udev ×1
usb-device ×1