Debian 12 稳定版提供LibreOffice版本 7.4.7.2。LibreOffice.org提供版本 24.8。
我知道 Debian stable 会尽力提供稳定的软件版本。这是否意味着 LibreOffice 的最新 17 个版本并不稳定?
Debian 12 稳定版提供LibreOffice版本 7.4.7.2。LibreOffice.org提供版本 24.8。
我知道 Debian stable 会尽力提供稳定的软件版本。这是否意味着 LibreOffice 的最新 17 个版本并不稳定?
我曾经有一个名为specto的包,它可以监控网站的变化。现在,Debian 11 中似乎缺少它:
▶sudo apt install specto
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package specto
我很好奇为什么它不再可用,以及是否有 AppImage (或其他方式我仍然可以安装它)。
在 1 gibibit LAN 上,我可以观看 Windows 10 计算机屏幕并在观看他们的屏幕时与用户对话的最简单方法是什么?
以下是一些要求:
Jitsi 和 Google Meet 等互联网服务对 LAN 使用的 ADSL 互联网连接要求太高。另外,我认为从网络流式传输视频以使其立即返回(到同一网络中的另一台计算机)没有任何意义。如果 jitsu 可以用作可以在 LAN 上定位和列出会议的桌面应用程序,那就太棒了。
每次启动 Virtual Machine Manager 时,我都必须先运行此命令,然后才能成功运行任何虚拟机:
sudo virsh net-start default
在 Debian 11 桌面上,如何配置 Virtual Machine Manager 以便仅通过启动应用程序来完成?
我正在尝试获取这样的 processID pcmanfm
:
pgrep -f "pcmanfm"
当pcmanfm
没有运行时,上面的命令什么都不返回(正如我所料)。
但是,当我从 python 运行命令时,即使pcmanfm
未运行,它也会返回一个进程 ID:
processID = os.system('pgrep -f "pcmanfm"')
此外,如果您在 python3 提示符下多次运行上述命令,则每次都会返回不同的 processID。一直以来,pcmanfm
在这些命令之前已经关闭。
>>> processID = os.system('pgrep -f "pcmanfm"')
17412
>>> processID = os.system('pgrep -f "pcmanfm"')
17414
>>> processID = os.system('pgrep -f "pcmanfm"')
17416
pcmanfm
如果它当前没有运行,这真的会破坏我的启动能力。我的脚本认为它不是在运行时。
为什么会这样?
实际上,我在尝试根据我观看的视频编写的Autokey脚本中遇到了这个问题。这是我当前的脚本:
processID = system.exec_command('pgrep -f "pcmanfm" | head -1',True)
dialog.info_dialog("info",processID)
if (processID):
cmd = "wmctrl -lp | grep " + processID + " | awk '{print $1}'"
windowID = system.exec_command(cmd,True)
# dialog.info_dialog("info",windowID)
cmd = "wmctrl -iR " + windowID
#dialog.info_dialog("info",cmd)
system.exec_command(cmd,False)
else:
#os.system("pcmanfm /home/user/Downloads")
cmd = "/usr/bin/pcmanfm /home/user/Downloads"
system.exec_command(cmd,False)
问题是,即使pcmanfm
没有运行,我也会不断获取 processID。如果脚本正在运行,则该脚本会正确聚焦pcmanfm
,但如果不是,则不会启动它。
更新:我终于通过取出-f
并替换它-nx
(来自@they 的建议)来让这个脚本工作。此外,我添加了一些异常处理来忽略由预期的空输出引起的自动键异常。此外,我将它转换为(更灵活的)功能,以便它可以服务于更广泛的命令/应用程序:
import re
def focusOrLaunch(launchCommand):
appName = re.findall('[^\s/]+(?=\s|$)',launchCommand)[0]
processID = None
try:
processID = system.exec_command('pgrep -nx "' + appName + '"',True)
except Exception as e:
#dialog.info_dialog("ERROR",str(e))
pass
#dialog.info_dialog("info",processID)
if (processID):
cmd = "wmctrl -lp | grep " + processID + " | awk '{print $1}'"
windowID = system.exec_command(cmd,True)
# dialog.info_dialog("info",windowID)
cmd = "wmctrl -iR " + windowID
#dialog.info_dialog("info",cmd)
system.exec_command(cmd,False)
else:
system.exec_command(launchCommand,False)
cmd = "/usr/bin/pcmanfm ~/Downloads"
focusOrLaunch(cmd)
由于Awesome Window Manager主要是一个窗口管理器,而不是一个完整的桌面环境,所以我不知道如何管理默认应用程序的概念。
如果没有安装桌面环境,我应该去哪里配置在单击应用程序中的超链接时启动哪个 Web 浏览器,该应用程序只希望我的环境提供默认 Web 浏览器来服务 URL 点击?
feh命令允许您递归地查看文件夹中的图像:
feh --recursive --auto-zoom
在查看图像时,它还允许您将自定义命令与键盘上的键 0-9 相关联。例如,如果我希望终端输出我正在查看的图像的文件名(到终端),我可以通过在显示图像时按零键来实现,方法是运行feh
如下--action
参数:
feh --recursive --auto-zoom --action "echo '%f'"
--action
将命令绑定echo '%f'
到零键。%f
是相对路径,输出时看起来像这样./filename.jpg
。
但是,我需要feh
给我绝对路径而不是相对路径。所以,我需要切断那个点,然后将剩下的附加到pwd
.
这是我的尝试:
feh --recursive --auto-zoom --cache-size 2048 --action "echo $(pwd)$(echo '%f' | cut -c 2-)}"
但输出如下所示:
/absolute/pathf
(注意密码末尾的“f”)
我怎样才能实现这样的输出?:
/absolute/path/filename.jpg
在没有安装桌面的 debian 11 上,如何让网络管理器为 Awesomewm 运行?
登录到真棒后我有互联网,但它不是通过网络管理器,即使我运行 nm-applet,它甚至看不到我当前的连接(这确实在工作)。
我正在寻找有关如何使网络管理器在 awesomewm 上充分发挥功能的指南,以使网络管理器服务足够早地启动以提供我的基本连接,从而使 VPN 配置能够正常工作(因为它们目前没有)。
作为学习awk的第一个项目,我想重新格式化wmctrl命令的输出,它可以在 Debian 11 中像这样安装:
sudo apt install wmctrl
要列出有关我打开的所有窗口的信息,我运行以下命令:
wmctrl -lpG
样本输出:
0x0120002b 4 7 2 157 3836 2068 my-pc window - AWK - Dealing with spaces in the last column of output from wmctrl - Unix & Linux Stack Exchange — Firefox
在上面的命令中,我永远记不起每一列的含义,所以我想使用 AWK 将它分成名称/值对:
wmctrl -lpG | awk '{print "----------------------\nWindow ID: " $1 "\nDesktop Number: " $2 "\nProcess ID: " $3 "\nx-offset: " $4 "\ny-offset: " $5 "\nwidth: " $6 "\nheight: " $7 "\nMachine Name: " $8 "\nWindow Title: " $9}'
样本输出:
----------------------
Window ID: 0x0120002b
Desktop Number: 4
Process ID: 7
x-offset: 2
y-offset: 134
width: 3836
height: 2068
Machine Name: my-pc
Window Title: window
期望的输出:
----------------------
Window ID: 0x0120002b
Desktop Number: 4
Process ID: 7
x-offset: 2
y-offset: 134
width: 3836
height: 2068
Machine Name: my-pc
Window Title: window - AWK - Dealing with spaces in the last column of output from wmctrl - Unix & Linux Stack Exchange — Firefox
但是,我无法弄清楚如何处理由(因为第9wmctrl -lpG
列包含空格)输出的第 9 列。请注意,我只得到窗口标题的第一个单词,而不是整个窗口标题。
有没有简单的方法来解决这个问题?
安装Awesome(没有其他 GUI 环境)后,我笔记本电脑上的功能键(尤其是亮度)不像我安装 KDE 或 GNOME 时那样工作。
到目前为止,我发现控制亮度的唯一方法是这样的命令:
echo "10" > /sys/class/backlight/nv_backlight/brightness
echo "20" > /sys/class/backlight/nv_backlight/brightness
echo "30" > /sys/class/backlight/nv_backlight/brightness
echo "40" > /sys/class/backlight/nv_backlight/brightness
echo "50" > /sys/class/backlight/nv_backlight/brightness
echo "60" > /sys/class/backlight/nv_backlight/brightness
echo "70" > /sys/class/backlight/nv_backlight/brightness
echo "80" > /sys/class/backlight/nv_backlight/brightness
echo "90" > /sys/class/backlight/nv_backlight/brightness
echo "100" > /sys/class/backlight/nv_backlight/brightness
但是,我不能轻松地将这些命令自动化为热键,因为它们只能以 root 身份工作。令人惊讶的是,使用我的普通用户帐户时,sudo 甚至都不起作用。例如,这不起作用:
sudo echo "60" > /sys/class/backlight/nv_backlight/brightness
上述命令输出:Permission denied
. 因此,要改变亮度,我必须su
首先。也许有人可以解释我如何允许我的普通用户帐户在不升级的情况下修改该路径。然后,我可以将热键与这些亮度调整相关联。
不过,理想情况下,我怀疑我可以安装一个包来映射我笔记本电脑的现有按键以进行亮度调整。这是模型(如果这有助于您了解包装):
Machine: Type: Laptop System: System76 product: Bonobo WS v: bonw13
Mobo: System76 model: Bonobo WS v: bonw13
如何使用 GUI 在运行Awesome的系统上配置 L2TP VPN ?
我试图强迫自己使用平铺窗口管理器足够长的时间来决定我是否真的比浮动窗口管理器更喜欢它。我已经在 debian 11 上安装了 Awesome,它没有安装任何桌面环境。
我已经克服了大部分障碍,但我似乎无法找到一个丰富的网络管理器小程序。我所说的“丰富”是指具有设置 VPN 所需的所有功能,具有 L2TP IPsec 和相位算法的高级配置。
我知道,如果我安装了 KDE 或 GNOME,这些桌面中的网络管理器小程序会提供一个 GUI,用于设置我需要为 network-manager-l2tp 包设置的所有这些高级配置。但是,到目前为止,在 Awesome,我进入托盘的网络管理器小程序缺少用于配置高级设置(如 L2TP IPsec 选项、相位算法和 UDP 封装)的 gui 部分。
也许我可以将 KDE 安装到另一台计算机上,设置 VPN,然后找到保存此配置的文件,并将该文件移动到这台计算机作为设置 VPN 的一种方式。或者,也许我可以弄清楚如何仅通过命令行配置 VPN。使用 GUI 生成配置文件然后将其用作学习如何在没有 GUI 的情况下配置 VPN 的基础可能会更容易。
但是,也许我确实可以将网络管理器小程序放入 Awesome 的系统托盘,它只是 GNOME 和 KDE 提供的功能丰富的功能。
我愿意接受意见和建议。
您可以使用以下命令列出每个寡妇的进程 ID:
wmctrl -lp
是否存在显示running command
每个窗口的命令(有点像 htop 有一个“命令”列)?
如果没有,您如何结合命令最终实现这一目标?
当borg create命令与--progress
参数一起使用时,它的输出如下:
5.50 GB O 5.10 GB C 23.95 kB D 15600 N /path/to/current/file/being/processed
我能够在这里找到上面的缩写代表什么:
--progress 选项显示(从左到右)原始、压缩和去重(分别为 O、C 和 D),然后是到目前为止处理的文件数 (N),然后是当前处理的路径。-来源
然而,我仍然不确定这里使用的Deduplicated的含义。
在上面的示例中,Deduplicated 的值为23.95 kB
。这是否意味着在迄今为止处理的 5GB 数据中,只有 23.95 kB 需要传输,因为这是自我上次归档到存储库以来发现的唯一唯一数据?
我有两个1TB NVMe SSD,它们使用LVM设置,两个驱动器组合起来(大致)组成一个 2TB 逻辑卷。
从这些驱动器启动的笔记本电脑已被送去维修,是否可以修复尚不确定。
与此同时,我想恢复数据并将其传输到更容易访问的地方(如外部硬盘驱动器)。
我怎样才能做到这一点?
我目前的想法是购买这两个NVMe 驱动器机箱,并将两个驱动器连接到同一台计算机。然后,使用Virtual Machine Manager将这两个 USB 设备共享到新创建的虚拟机。也许我可以从这些驱动器启动该虚拟机(就好像虚拟机是他们之前启动的笔记本电脑一样)。或者,也许我可以在虚拟机上安装一些 ISO 映像,至少可以看到 LVM 卷及其所有子分区。
这听起来可行吗?我以前从来没有这样做过,所以如果有任何建议可以帮助我避免一些跟踪和错误,我将不胜感激。
Debian 11 Stable
KDE Plasma 5.20.5
大约每天一次,我的系统崩溃了。我在纸上写下了似乎最相关的错误:
[83262.955525] systemd-journal [301]: failed to write entry (22 items, 747 bytes),
ignoring: Read-only file system
EXT-FS Error (device sda1) __ext4_find_entry:1534 inode #1573987:
com gmain: reading directory lblock 0
我在这里找到了这张照片:
这几乎就是我的屏幕在崩溃期间的样子。
驱动器和分区:
Drives: Local Storage: total: 1.38 TiB used: 853.2 GiB (60.6%)
ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 1TB size: 931.51 GiB
ID-2: /dev/sdb vendor: Samsung model: SSD 850 PRO 512GB size: 476.94 GiB
Partition: ID-1: / size: 45.53 GiB used: 8.3 GiB (18.2%) fs: ext4 dev: /dev/sda1
ID-2: /home size: 869.04 GiB used: 755.96 GiB (87.0%) fs: ext4 dev: /dev/sda3
Swap: ID-1: swap-1 type: partition size: 976 MiB used: 0 KiB (0.0%) dev: /dev/sda5
我还没有尝试在此安装中安装任何专有驱动程序。我使用这台计算机工作,非专有驱动程序的性能似乎足以满足我的工作需要(除非以某种方式需要它们来阻止这些崩溃)。
我在日志文件中看到的唯一错误与固件有关,我认为我什至不需要使用 debian:
[ 0.101567] DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x00000000bdeac000-0x00000000bdecbfff], contact BIOS vendor for fixes
[ 0.101697] DMAR: [Firmware Bug]: Your BIOS is broken; bad RMRR [0x00000000bdeac000-0x00000000bdecbfff]
BIOS vendor: Hewlett-Packard; Ver: F.25; Product Version: 0499220000241210001040000
[ 0.237433] core: CPUID marked event: 'bus cycles' unavailable
[ 0.244065] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
[ 0.245624] #5 #6 #7
[ 0.266653] mtrr: your CPUs had inconsistent variable MTRR settings
[ 1.889198] [Firmware Bug]: Invalid critical threshold (0)
[ 2.306443] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20200925/utaddress-204)
[ 2.306458] ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20200925/utaddress-204)
[ 2.306467] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20200925/utaddress-204)
[ 2.306476] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20200925/utaddress-204)
[ 2.306484] lpc_ich: Resource conflict(s) found affecting gpio_ich
[ 2.354733] r8169 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 2.740251] nouveau 0000:01:00.0: bios: OOB 1 015f1901 015f1901
[ 2.764763] ata5.00: supports DRM functions and may not be fully accessible
[ 2.765804] ata1.00: supports DRM functions and may not be fully accessible
[ 2.768822] ata1.00: supports DRM functions and may not be fully accessible
[ 2.776029] ata5.00: supports DRM functions and may not be fully accessible
[ 5.256428] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[ 5.599321] systemd-journald[301]: File /var/log/journal/e60bce5c0cc141a5b1ca070182b03357/system.journal corrupted or uncleanly shut down, renaming and replacing.
[ 5.631756] i801_smbus 0000:00:1f.3: BIOS is accessing SMBus registers
[ 5.631758] i801_smbus 0000:00:1f.3: Driver SMBus register access inhibited
[ 5.711693] at24 0-0050: supply vcc not found, using dummy regulator
[ 5.765689] rc rc0: nonsensical timing event of duration 0
[ 5.765692] rc rc0: two consecutive events of type space
[ 5.895968] iwlwifi 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 5.900275] iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-6000-4.ucode (-2)
[ 5.900277] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
[ 5.900279] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-6000-4.ucode failed with error -2
[ 5.900284] iwlwifi 0000:02:00.0: iwlwifi-6000-4 is required
[ 5.900286] iwlwifi 0000:02:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
[ 6.136626] kvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work properly. Using workaround
[ 6.765931] r8169 0000:03:00.0: firmware: failed to load rtl_nic/rtl8168d-2.fw (-2)
[ 6.766420] r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168d-2.fw failed with error -2
[ 6.766425] r8169 0000:03:00.0: Unable to load firmware rtl_nic/rtl8168d-2.fw (-2)
[ 7.019228] L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html for details.
[ 7.020441] kvm: KVM_SET_TSS_ADDR need to be called before entering vcpu
[ 20.142355] systemd-journald[301]: File /var/log/journal/e60bce5c0cc141a5b1ca070182b03357/user-1000.journal corrupted or uncleanly shut down, renaming and replacing.
[ 24.444130] nouveau 0000:01:00.0: firmware: failed to load nouveau/nva5_fuc084 (-2)
[ 24.444136] nouveau 0000:01:00.0: Direct firmware load for nouveau/nva5_fuc084 failed with error -2
[ 24.444149] nouveau 0000:01:00.0: firmware: failed to load nouveau/nva5_fuc084d (-2)
[ 24.444151] nouveau 0000:01:00.0: Direct firmware load for nouveau/nva5_fuc084d failed with error -2
[ 24.444154] nouveau 0000:01:00.0: msvld: unable to load firmware data
[ 24.444157] nouveau 0000:01:00.0: msvld: init failed, -19
[ 24.505830] CE: hpet5 increased min_delta_ns to 20115 nsec
[ 25.499297] CE: hpet6 increased min_delta_ns to 20115 nsec
[ 34.557568] hrtimer: interrupt took 14722 ns
[ 2760.299762] CE: hpet3 increased min_delta_ns to 20115 nsec
[ 2979.256577] CE: hpet increased min_delta_ns to 20115 nsec
[ 3050.545325] show_signal_msg: 19 callbacks suppressed
[ 3053.040108] CE: hpet7 increased min_delta_ns to 20115 nsec
[ 5509.560255] CE: hpet4 increased min_delta_ns to 20115 nsec
免费驱动程序通常稳定吗?这是我的视频卡:
lspci -vnn | grep -A12 'VGA\|Display'
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT216M [GeForce GT 230M] [10de:0a28] (rev a2) (prog-if 00 [VGA controller])
DeviceName: NVIDIA Video Graphics Controller
Subsystem: Hewlett-Packard Company GT216M [GeForce GT 230M] [103c:7001]
Flags: bus master, fast devsel, latency 0, IRQ 33, IOMMU group 16
Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=32M]
I/O ports at 6000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nouveau
Kernel modules: nouveau
我不擅长确定这些崩溃的确切原因。任何建议表示赞赏。
这看起来像我可以修理的东西吗?如果是这样,怎么做?
更新
在LinuxSecurityFreak
的回答中,他建议在重新启动时强制 fsck 修复。这样做后,我在引导日志中发现了这一点:
猫 /var/log/boot.log
------------ Tue Dec 07 06:01:46 CST 2021 ------------
/dev/sda1: recovering journal
/dev/sda1: Clearing orphaned inode 1966113 (uid=1000, gid=1000, mode=0100600, size=3538944)
/dev/sda1: Clearing orphaned inode 1966101 (uid=1000, gid=1000, mode=0100600, size=9830400)
/dev/sda1: Clearing orphaned inode 2802080 (uid=0, gid=0, mode=0100644, size=71592)
/dev/sda1: Clearing orphaned inode 2802077 (uid=0, gid=0, mode=0100644, size=917632)
/dev/sda1: Clearing orphaned inode 2802076 (uid=0, gid=0, mode=0100644, size=191416)
/dev/sda1: Clearing orphaned inode 2802075 (uid=0, gid=0, mode=0100644, size=190368)
/dev/sda1: Clearing orphaned inode 2802073 (uid=0, gid=0, mode=0100644, size=34728)
/dev/sda1: Clearing orphaned inode 2802071 (uid=0, gid=0, mode=0100644, size=18352)
/dev/sda1: Clearing orphaned inode 2802069 (uid=0, gid=0, mode=0100644, size=18352)
/dev/sda1: Clearing orphaned inode 2802067 (uid=0, gid=0, mode=0100644, size=14256)
/dev/sda1: Clearing orphaned inode 2802065 (uid=0, gid=0, mode=0100644, size=14256)
/dev/sda1: Clearing orphaned inode 2802063 (uid=0, gid=0, mode=0100644, size=22448)
/dev/sda1: Clearing orphaned inode 2802061 (uid=0, gid=0, mode=0100644, size=14256)
/dev/sda1: Clearing orphaned inode 2802059 (uid=0, gid=0, mode=0100644, size=14328)
/dev/sda1: Clearing orphaned inode 2802057 (uid=0, gid=0, mode=0100644, size=14256)
/dev/sda1: clean, 255277/3055616 files, 2444203/12206848 blocks
------------ Tue Dec 07 07:08:18 CST 2021 ------------
e2fsck 1.46.2 (28-Feb-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 255255/3055616 files (0.1% non-contiguous), 2446557/12206848 blocks
更新 2
BIOS 是我可以在 HP 网站上找到的最新版本 (Hewlett-Packard v: F.25)。可能是以后的 BIOS,但我不确定我是否可以信任该来源。
inxi-FX
System: Host: sidekick Kernel: 5.10.0-9-amd64 x86_64 bits: 64 compiler: gcc v: 10.2.1
Desktop: KDE Plasma 5.20.5 Distro: Debian GNU/Linux 11 (bullseye)
Machine: Type: Laptop System: Hewlett-Packard product: HP Pavilion dv8 Notebook PC
v: 0499220000241210001040000 serial: CNF02839BM
Mobo: Hewlett-Packard model: 7001 v: 35.35 serial: CNF02839BM BIOS: Hewlett-Packard v: F.25
date: 05/31/2010
Battery: ID-1: BAT0 charge: 0% condition: 93.1/365.8 Wh (25%) model: Hewlett-Packard Primary status: Unknown
CPU: Info: Quad Core model: Intel Core i7 Q 740 bits: 64 type: MT MCP arch: Nehalem rev: 5 L2 cache: 6 MiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 27668
Speed: 931 MHz min/max: 933/1734 MHz boost: enabled Core speeds (MHz): 1: 931 2: 931 3: 931 4: 931
5: 931 6: 931 7: 931 8: 931
Graphics: Device-1: NVIDIA GT216M [GeForce GT 230M] vendor: Hewlett-Packard driver: nouveau v: kernel
bus ID: 01:00.0
Device-2: Quanta HP Webcam type: USB driver: uvcvideo bus ID: 2-1.5:5
Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting unloaded: fbdev,vesa resolution:
1: 1920x1080~60Hz 2: 1920x1080~60Hz
OpenGL: renderer: NVA5 v: 3.3 Mesa 20.3.5 direct render: Yes
Audio: Device-1: Intel 5 Series/3400 Series High Definition Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus ID: 00:1b.0
Device-2: NVIDIA GT216 HDMI Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
bus ID: 01:00.1
Sound Server: ALSA v: k5.10.0-9-amd64
Network: Device-1: Intel Centrino Advanced-N 6200 driver: N/A port: 6000 bus ID: 02:00.0
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Hewlett-Packard
driver: r8169 v: kernel port: 4000 bus ID: 03:00.0
IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: c8:0a:a9:eb:14:ba
Drives: Local Storage: total: 1.38 TiB used: 853.2 GiB (60.6%)
ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 1TB size: 931.51 GiB
ID-2: /dev/sdb vendor: Samsung model: SSD 850 PRO 512GB size: 476.94 GiB
Partition: ID-1: / size: 45.53 GiB used: 8.3 GiB (18.2%) fs: ext4 dev: /dev/sda1
ID-2: /home size: 869.04 GiB used: 755.96 GiB (87.0%) fs: ext4 dev: /dev/sda3
Swap: ID-1: swap-1 type: partition size: 976 MiB used: 0 KiB (0.0%) dev: /dev/sda5
Sensors: System Temperatures: cpu: 59.0 C mobo: N/A gpu: nouveau temp: 56.0 C
Fan Speeds (RPM): N/A
Info: Processes: 223 Uptime: 20m Memory: 7.76 GiB used: 1.9 GiB (24.5%) Init: systemd runlevel: 5
Compilers: gcc: N/A Packages: 2579 Shell: Bash v: 5.1.4 inxi: 3.3.01
该hostnamectl
命令输出一些格式良好的信息,其中包括您的主机名,但它不包括完全限定域名 (FQDN),如hostname -f
.
作为了解有关控制 bash 输出格式的更多信息的一种方式,我想以第二个命令遵循第一个命令的输出对齐的方式将这两个命令组合成一个命令。
hostnamectl ; fqdn=$(hostname -f) ; echo -e "\t\tFQDN:\t${fqdn}"
但是请注意,我无法FQDN:
与第一个子命令的输出保持一致。
是否存在允许我在不编写脚本的情况下根据第一个输出的对齐方式格式化第二个输出的命令?我怀疑不是,但我想我会问。