问题列表 - 第5554页

我可以在不需要桌面环境的情况下运行 GUI 程序吗?

我使用 Raspbian(即 Debian)Linux。我一直在读一些书,但仍然不清楚。

在我看来,当你启动到命令行时,它并没有真正使用像 mpv 这样的 GUI 东西。成熟的桌面和 CLI 之间是否存在折衷方案?只是终端窗口,但可以启动mpv、照片查看器等?

我可以在桌面上使用lf/ uberzug,但我想要比桌面运行资源更少的东西。

command-line desktop

18
推荐指数
4
解决办法
9334
查看次数

安装debian 12时忘记安装桌面环境

我在安装 Debian 12 时忘记安装桌面环境。

安装时我卡在 tty1,没有 GUI,只有文本。我在 Facebook 群组上询问过,那里的人说我忘记安装桌面环境了。

我应该怎么办?

linux debian desktop-environment software-installation system-installation

11
推荐指数
3
解决办法
4212
查看次数

文件轮询的替代方案?

在下面的代码中,我必须轮询$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)

该代码有效,但我想知道是否有另一种方法可以实现相同的结果。

command-line bash terminal shell-script

2
推荐指数
2
解决办法
739
查看次数

关于软件管理器下的许可证

在此输入图像描述

我使用linux mint 21.3 Cinnamon 版。我在许可证下的软件管理器中看到,它说不允许更改。它的意义是什么?请告诉我。 (任何人都可以复制和分发本许可文档的逐字副本,但不允许更改。)

linux-mint licenses cinnamon software-distribution

0
推荐指数
1
解决办法
59
查看次数

如何以编程方式确定根分区的设备名称/基本名称?

参考:下面的问题 驱动器名称?“/dev/sda”的“sda”部分的正确术语是什么?

鉴于:

  1. 我有一个系统(在本例中是 Raspberry Pi,但这可能与任何 'nix 系统相关。)
  2. 它正在运行一个 Linux 版本,并且可以假设所有正常的 Linux 命令都可以工作。
  3. 启动设备可以是 SD 卡或 USB 连接存储设备。
  4. 如果从连接的存储设备启动,则设备“基本名称”为 sd(x)
  5. 如果从 SD 卡启动,设备“basename”将变为类似“mm(xxxx)”

我想要做什么:我希望能够以编程方式(如果可能的话,在 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 block-device root-filesystem usb-device

8
推荐指数
2
解决办法
1159
查看次数

Linux 环境中的设备管理器是什么?

Linux 环境下的设备管理器是什么?\xc2\xa0\n那个\xc2\xa0 是,设备管理器实际上是做什么的?

\n

https://en.wikipedia.org/wiki/Udev

\n
\n

udev(用户空间/dev)是Linux内核的设备管理器。

\n
\n

这意味着什么?

\n

维基百科继续:

\n
\n

作为devfsd和hotplug的后继者,\nudev主要管理目录中的设备节点/dev。\xc2\xa0\n在\xc2\xa0与\xc2\xa0相同\xc2\xa0时,udev\xc2\xa0还处理\n时引发的所有用户空间事件硬件设备被添加到系统中或\xc2\xa0从\xc2\xa0it中删除,\n包括根据某些设备的要求加载固件。

\n
\n

这句话对我来说没有任何意义。\xc2\xa0\n首先,“管理\xc2\xa0目录中的设备节点/dev”是什么意思?

\n

斯莱贝特曼 说

\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
\n

“自动启用或禁用设备驱动程序”的目的是什么?\xc2\xa0\nso\xc2\xa0内核可以与设备或\xc2\xa0the\xc2\xa0程序对话?\xc2\xa0\nso\xc2\xa0the\xc2 \xa0devices 可以在用户空间或内核空间操作吗?

\n

linux udev terminology

2
推荐指数
1
解决办法
713
查看次数

如何格式化“时间”输出

我使用的是 Ubuntu 23.10 x64。该time程序有一个 -f 标志,但当我运行时它说-f找不到命令。

time -f "%Uu %Ss %er %MkB %C" ./countwords hamlet.txt
Run Code Online (Sandbox Code Playgroud)

我试图让time程序除了默认输出之外还输出内存使用情况。

bash time

3
推荐指数
1
解决办法
66
查看次数

目前有多少 Linux 内核是用 Rust 编写的?

这是一件令人好奇的事情,但我想知道目前 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)

linux-kernel rust

-2
推荐指数
1
解决办法
137
查看次数

Debian 12 linux-image-6.1.0-18-amd64 dist-upgrade 在 nvidia GPL 不兼容模块上失败 nvidia.ko 使用仅 GPL 符号“__rcu_read_lock”

我对今天通知的 Debian 12 的新更新运行了apt-get upgrade和。apt-get dist-upgrade

\n

最后一个失败并显示此消息,稍后可以看到它涉及 NVidia 驱动程序(我使用 Debian 发行版之一)编译:

\n
dkms: autoinstall for kernel: 6.1.0-18-amd64 failed!\nrun-parts: /etc/kernel/postinst.d/dkms exited with return code 11\n
Run Code Online (Sandbox Code Playgroud)\n
sudo 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)

debian apt nvidia dist-upgrade

9
推荐指数
2
解决办法
4293
查看次数

shell 扩展的顺序:命令替换与算术扩展

考虑在 bash 命令行中输入以下代码片段:

\n
$ echo $(( $(wc -l letter.txt | cut -c1-4)/66 + 1))\n
Run Code Online (Sandbox Code Playgroud)\n

假设letter.txt存在并且有 66*4 行,那么这会将字符串 5 放在命令行上。现在我无法理解的是,根据我对命令行处理的了解,这个结论是如何得出的。

\n

我的书(Sobell 的《Linux 实用指南》 , 4e)说

\n
\n

Bourne Again Shell 按以下顺序扫描每个标记以查找各种类型的扩展和替换。大多数这些过程将单词扩展为单个单词。只有大括号扩展、单词分割和路径名扩展可以更改命令中的单词数(变量“$@”\xe2\x80\x94 的扩展除外,请参见第 474 页)。

\n
    \n
  1. 支撑扩展(下一页)
  2. \n
  3. 波形符扩展(第 368 页)
  4. \n
  5. 参数和变量扩展(第 368 页)
  6. \n
  7. 算术展开(第369页)
  8. \n
  9. 命令替换(第 371 页)
  10. \n
  11. 分词(第 372 页)
  12. \n
  13. 路径名扩展(第 372 页)
  14. \n
  15. 进程替换(第 374 页)
  16. \n
  17. 删除报价(第 374 页)
  18. \n
\n
\n

根据上述内容,算术扩展似乎会首先求值,如果是这样,则令牌$(wc -l letter.txt | …

command-line shell bash

6
推荐指数
1
解决办法
397
查看次数