小编Mic*_*l A的帖子

如何从 QEMU/KVM 取回鼠标?

我正在使用以下命令在 Debian 测试 x64 上运行 QEMU/KVM:

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user
Run Code Online (Sandbox Code Playgroud)

但是当我在虚拟机内部单击时,QEMU 会捕获我的鼠标并且不会放开它。我认为释放鼠标的组合键是Right Ctrl,但按下它时没有任何反应。我也尝试附加-usbdevice tablet-usbdevice mouse选项:

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice tablet
Run Code Online (Sandbox Code Playgroud)

或者

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice mouse
Run Code Online (Sandbox Code Playgroud)

但情况是一样的。我正在使用 QEMU 模拟器版本 1.7.0(Debian 1.7.0+dfsg-2)。

kvm x11 mouse qemu

46
推荐指数
1
解决办法
12万
查看次数

安装 Debian 时,GRUB 和 LILO 都无法安装到 NVMe 硬盘

我正在尝试在 Lenovo Thinkpad 上安装 64 位 Debian 稳定版。当我进入安装引导加载程序的安装步骤时,我收到以下消息:

安装步骤失败。您可以尝试从菜单中再次运行失败的项目,或者跳过它并选择其他内容。失败的步骤是:在硬盘上安装 GRUB 引导加载程序

返回菜单并选择 LILO 给了我同样的错误。安装日志说

May  1 13:24:23 main-menu[188]: WARNING **: Configuring 'grub-installer' failed with error code 1
May  1 13:24:23 main-menu[188]: WARNING **: Menu item 'grub-installer' failed.
May  1 13:24:28 main-menu[188]: INFO: Menu item 'lilo-installer' selected
May  1 13:24:28 main-menu[188]: WARNING **: Unable to set title for fdisk-udeb.
May  1 13:24:28 main-menu[188]: WARNING **: Configuring 'lilo-installer' failed with error code 1
May  1 13:24:28 main-menu[188]: WARNING **: Menu item 'lilo-installer' …
Run Code Online (Sandbox Code Playgroud)

debian grub2 hard-disk system-installation lilo

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

如何判断程序是否正在终端中打印到 stderr 或 stdout?

注意:出现换行符,但 od -c 不显示。

我的音乐播放器的状态命令 ( quodlibet --status | od -c) 具有三种状态,我正在尝试根据该输出编写一个条件。该命令的输出是这样的(可能因配置而异)。

  1. 我认为这是打印到 stderr 因为od -c不能正确显示,即使它对其他命令也是如此。

    not-running
    0000000
    
    Run Code Online (Sandbox Code Playgroud)
  2. 暂停

    0000000   p   a   u   s   e   d       P   a   n   e   d   B   r   o   w
    0000020   s   e   r       1   .   0   0   0       s   h   u   f   f   l
    0000040   e       o   n       0   .   2   2   8  \n
    0000053
    
    Run Code Online (Sandbox Code Playgroud)
  3. 0000000   p   l   a   y   i   n   g       P   a   n   e   d   B …
    Run Code Online (Sandbox Code Playgroud)

bash shell-script

8
推荐指数
1
解决办法
6464
查看次数

“没有输出具有背光属性”但配置了 xorg.conf 并安装了 xbacklight

我正在使用带有英特尔视频驱动程序的联想笔记本电脑,我正在尝试控制亮度。我安装了xbacklightxserver-xorg-video-intel包,将这些行添加到/etc/X11/xorg.conf

Section "Device"
    Identifier  "Card0"
    Driver      "intel"
    Option      "Backlight"  "intel_backlight"
EndSection
Run Code Online (Sandbox Code Playgroud)

我验证了该/sys/class/backlight/intel_backlight/目录确实存在。当我运行时xbacklight,出现错误:

No outputs have backlight property
Run Code Online (Sandbox Code Playgroud)

如何配置背光?我使用的是 Debian 9 x64 并且系统完全是最新的。

编辑:我可以通过提升我的权限sudo并写入brightness文件来手动更改亮度:

echo 500 > /sys/class/backlight/intel_backlight/brightness
Run Code Online (Sandbox Code Playgroud)

编辑:如果我xbacklight以 root 身份运行或使用sudo.

debian backlight

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

strace 是找出程序写入文件系统位置的合适工具吗?

我想确定某个应用程序(例如,surf)写入文件系统的位置,以确保它不留下任何痕迹。如果没有专用的沙箱系统,这可能并不容易,但我想知道是否有比简单地使用strace.

例如,这里有一个简单的脚本,名为run

#!/bin/bash

mkdir history
echo foo bar > history/hist.db
echo hello > test
Run Code Online (Sandbox Code Playgroud)

strace是这样跑的:

strace ./run 2>&1 | sed -n '/^open.*WRONLY/p' | sed 's/.*"\(.*\)"[^"]*$/\1/'
Run Code Online (Sandbox Code Playgroud)

查看已写入的所有文件(但不是目录)(我认为这不会捕获已创建但未写入的文件,例如由touch.创建的文件)。输出:

history/hist.db
test
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,因为这对于除微不足道的应用程序之外的任何东西都变得笨拙,或者我可以传递给strace(或更好的正则表达式?)我是否会冒丢失写入文件系统的文件的风险?

filesystems security sed strace sandbox

5
推荐指数
1
解决办法
406
查看次数

当我在 Grub 中选择它们时 memtest86+ 无法启动

我从 Debian 稳定存储库安装了 memtest86+;我正在使用拉伸/稳定。但是,当我从启动菜单中选择它的任何选项时,我只会看到黑屏。

我没有给系统添加新的内存;但是,我打算这样做,这就是我安装这些程序的原因。

我该如何调试/修复这个问题?我不确定它在哪里(如果在任何地方)存储其日志文件,如果我安装 memtest86 而不是 memtest86+,我会遇到同样的问题。

debian

5
推荐指数
1
解决办法
1020
查看次数

主机鼠标指针与 Qemu VNC 中的来宾鼠标指针不对齐

当我在 Qemu 虚拟机中运行Tiny Core Linux时,访客鼠标指针与主机鼠标指针严重错位。在下面的屏幕截图中,访客鼠标指针是图像中的指针。红点标记主机鼠标指针的位置。

我使用以下命令创建 Qemu 磁盘映像:

qemu-img create disk.img 500M -f qcow2
Run Code Online (Sandbox Code Playgroud)

并使用以下命令启动虚拟机:

qemu-system-x86_64 -m 1024 -boot d -enable-kvm -smp 3 -net nic -net user -hda disk.img -cdrom TinyCore-current.iso
Run Code Online (Sandbox Code Playgroud)

这将启动在 上运行的 VNC 会话::1:5900,我通过将其指定localhost:5900为服务器来使用 Remmina 访问该会话。

我使用的是 Remmina 1.3.3、Qemu 1.3.1 和 Debian 10(“Buster”)。如何正确对齐这些鼠标指针?客机未对齐时很难使用。

编辑:这个问题也出现在 TigerVNC Viewer 64 位 v1.9.0 中,所以看起来它不是 Remmina 问题,而是 Qemu 问题。

主机鼠标指针与访客鼠标指针未对齐

编辑:澄清一下,在我的 qemu 版本中,我收到了 error qemu-system-x86_64: -usbdevice tablet: '-usbdevice' is deprecated, please use '-device usb-...' instead,但是当我使用该-device usb-tablet选项时,我收到了 …

virtual-machine vnc mouse qemu

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

是否可以使用 xsetroot 和 dwm 以不同的时间间隔设置顶部和底部栏?

我正在使用带有双重状态补丁的dwm 。除了顶部的标准栏之外,这还会在屏幕底部添加一个状态栏。每个栏中的文本在 ~/.xinitrc 中设置(例如),如下所示:

xsetroot -name “top text;bottom text”
Run Code Online (Sandbox Code Playgroud)

bash中有没有办法以不同的间隔设置顶部文本和底部文本?例如,我有一个topbar显示系统信息的脚本,例如 uptime 命令的输出,以及一个bottombar显示天气、电池状态等信息的脚本。

目标是让顶部栏每秒更新一次,而底部栏每分钟更新一次,因为它的信息来自更昂贵的过程(例如查询我的音乐播放器,检查电池状态等)现在我的 ~/.xinitrc看起来像这样:

while true; do
    bottomdisp=$(bottombar)
    for s in {1..60}
    do
        xsetroot -name "$(topbar);$bottomdisp";
    sleep 1;
    done
done &

xbindkeys
( ( sleep 5 && /usr/bin/xscreensaver -no-splash -display :0.0 ) & )

exec rundwm
Run Code Online (Sandbox Code Playgroud)

但是,这每秒更新一次。有没有更简单的方法来做到这一点?我能想到的想法是

  1. 也许是一种告诉 xsetroot 保留底部栏中的内容的方法?作为最后的手段,我可​​能会调整dualstatus补丁中的一些代码,以允许它在xsetroot -name ';bottom text'传递类似内容时保留顶部/底部栏的当前状态,但这并不理想,因为我的 C 已生锈,我仍在使用上述内容命令有时清除条形。

  2. 使用 cronjob 更新底部栏中文本的缓存,并每分钟运行一次。尽管顶部/底部栏会每秒显示一次,但实际上只有顶部栏会每秒更改一次。

还有其他方法吗?有没有一种简单的(r)方法可以在我错过的 bash 中做到这一点?

x-server dwm

4
推荐指数
1
解决办法
1816
查看次数

为什么这个 PAM 代码会阻止所有登录到 Debian 系统?

为什么将此行添加到/etc/pam.d/common-auth

auth        required      pam_tally2.so deny=4 unlock_time=1200 even_deny_root
Run Code Online (Sandbox Code Playgroud)

并将这一行添加到/etc/pam.d/common-account

account     required      pam_tally2.so
Run Code Online (Sandbox Code Playgroud)

阻止所有登录到我的 Debian 10 系统?我的所有其他pam配置文件(logincommon-sessioncommon-password与默认值保持不变,但如果需要,我也可以发布这些文件)。

我已经看到了一些其他问题的讨论pam_tally,例如这个这个这个,但他们要么没有特定的答案,pam_tally要么根本没有任何答案。

(作为背景,我正在尝试为 Debian 系统调整这个更新的指南

编辑:libpam-modules安装包。

来自common-auth

auth    [success=1 default=ignore]  pam_unix.so nullok_secure
auth    required      pam_tally2.so deny=4 unlock_time=1200 even_deny_root
auth    requisite     pam_deny.so
auth    required      pam_permit.so
Run Code Online (Sandbox Code Playgroud)

来自common-account

account required      pam_tally2.so
account [success=1 new_authtok_reqd=done default=ignore]    pam_unix.so 
account …
Run Code Online (Sandbox Code Playgroud)

pam debian

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