我希望能够使用键盘粘贴 X 选择。目前我必须使用鼠标中键来做到这一点。
我认为伪造鼠标中键按下相当容易,但这样的解决方案还需要将鼠标指针移动到文本插入符号的位置。
有一个更好的方法吗?
/var/log/messages、/var/log/syslog和其他一些日志文件使用包含绝对时间的时间戳,例如Jan 13 14:13:10.
/var/log/Xorg.0.log和/var/log/dmesg,以及 的输出$ dmesg,使用看起来像
[50595.991610] malkovich: malkovich malkovich malkovich malkovich
Run Code Online (Sandbox Code Playgroud)
我猜测/收集这些数字代表自启动以来的秒和微秒。
但是,我尝试将这两组时间戳相关联(使用 的输出uptime)给出了大约 5000 秒的差异。
这大约是我的计算机被挂起的时间。
有没有一种方便的方法可以将 dmesg 和 Xorg 使用的数字时间戳映射到绝对时间戳?
作为解决这个问题的初步步骤,也希望让我的问题更清楚一点,我编写了一个Python 脚本来解析/var/log/syslog和输出时间偏差。在我运行 ubuntu 10.10 的机器上,该文件包含许多源自内核的行,这些行都标有 dmesg 时间戳和 syslog 时间戳。该脚本为该文件中的每一行输出一行,其中包含内核时间戳。
python syslogdriver.py /var/log/syslog | column -nts $'\t'
Run Code Online (Sandbox Code Playgroud)
abs abs_since_boot rel_time rel_offset message
Jan 13 07:49:15 32842.1276569 32842.301498 0 malkovich malkovich
Run Code Online (Sandbox Code Playgroud)
...rel_offset对于所有中间行都是 0 ...
Jan 13 09:55:14 40401.1276569 …Run Code Online (Sandbox Code Playgroud) 外部 3½" HDD 似乎有发生故障的危险——它在空闲时发出滴答声。
我已经获得了一个替换驱动器,并想知道从可疑驱动器中获取数据的最佳策略,并尽可能多地保存数据。
有些目录比其他目录更重要。但是,我猜测挑选和选择目录会减少我保存整个内容的机会。我还必须挂载它,转储文件列表,然后卸载它,以便能够有效地对目录进行优先级排序。加上这样做很耗时的事实,我正在远离这种方法。
我已经考虑过只使用dd,但我不确定它将如何处理读取错误或其他可能仅阻止数据的某些部分被拯救的问题,或者可以通过一些重试来克服这些问题,但不会太多以至于它们以免驱动器的其他部分被保存。我想理想情况下,它会通过一次获得尽可能多的数据,然后返回重试因错误而错过的任何内容。
复制更慢(例如,每 x MB/GB 暂停一次)是否可能比仅全速运行操作更好,例如避免任何过热问题?
对于“你的备份在哪里”的人群:这实际上是我的备份驱动器,但它也包含一些非关键和笨重的东西,比如音乐,它们不是备份,即没有备份。
除了这种有点不祥的声音外,驱动器没有表现出任何明显的故障迹象。最近我确实不得不检查一些错误——孤立的 inode、不正确的空闲块/inode 计数、inode 位图差异、删除的 inode 上的 dtime 为零;总共大约 20 个错误。
该分区的文件系统是 ext3。
我正在尝试使用ManPageView插件查看vim.
虽然我发现 ManPageView 对于查看联机帮助页非常有用,但它的信息阅读功能似乎根本不起作用。但后来我几乎从不阅读信息文档,主要是因为它似乎不值得花时间学习info界面。所以我可能做错了。
无论如何::Man info.i按照 ManPageView 文档的建议运行给我
info: No menu item `(info)Top' in node `(dir)Top'.
info: No menu item `(info)Top' in node `(dir)Top'.
info: No menu item `(info)Top' in node `(dir)Top'.
***warning*** sorry, no manpage exists for <(info)Top>
Run Code Online (Sandbox Code Playgroud)
如果删除以下几行(从文件中的第 345 行开始),我会看到一些成功autoload/manpageview.vim:
" special exception for info {{{3
if a:viamap == 0 && ext == "i"
let s:manpageview_pfx_i = "(".manpagetopic.")"
let manpagetopic = "Top"
" call Decho("top-level info: manpagetopic<".manpagetopic.">")
endif …Run Code Online (Sandbox Code Playgroud) 我正在运行 openbox 窗口管理器并在我autostart.sh的控制显示电源管理中使用这一行:
xset dpms 0 60 0
Run Code Online (Sandbox Code Playgroud)
这很好地工作,导致显示在 60 秒不活动后暂停。
但是,当显示器响应鼠标移动、按键等重新唤醒时,屏幕将处于全亮状态。这浪费了力量,有时还会让人眼花缭乱。如果我使用笔记本电脑的亮度控制键 ( Fn+ <-/ ->) 来调整亮度,第一次按下会将亮度恢复到显示暂停之前的亮度。
我想要的是,一旦显示器被重新唤醒,屏幕就会处于暂停前的亮度,即不必点击亮度控制键之一。
我在 Acer Aspire 5742 上运行 ubuntu 10.10。
在 GNU 屏幕下运行 vim 时,我发现CTRL使用箭头和 Pg* 键的组合无法按预期工作。
我正在使用 Ubuntu 10.10vim-gnome软件包。
在另一台同样运行 Ubuntu 的机器上,这确实没有问题;不幸的是,我现在没有可用的配置。
这里有一个相关的问题:如何在 Vim 中修复 Ctrl + 箭头?
但是,建议的解决方案是重新映射 vim 的键绑定以与终端模拟器一起使用,在这种情况下是 PuTTY。我不记得做过任何类似的事情,并且怀疑有一个屏幕配置选项可以解决这个问题。
gnu-screen 邮件列表上还有一个线程,它表明通过 vim 运行$ TERM=xterm vim是一个适当的修复或解决方法。这确实有效,但我有点担心可能会有副作用。它听起来也不够熟悉,不足以成为我在另一台机器上设置的解决方案(如果需要解决方案)。
当系统进入挂起(又名 S3 或“挂起到 RAM”)模式时,我想为 USB 供电的驱动器保持供电。
通常,机器在暂停时会切断电源,这会导致机器被拆卸,然后在系统恢复时重新安装。这不是很好,特别是如果驱动器本身支持电源管理。
虽然我可以在单独的电源上运行它,但我更愿意避免为一些可以(至少在理论上)使用现有硬件完成的事情分配更多的布线。
我如何确定是否可以在我的系统上执行此操作,以及如何安排特定 USB 设备(即此外壳)始终以这种方式处理?
我正在运行 ubuntu 10.10。
更新
发现了这个 ubuntuforums 线程,它建议用于acpitool -w确定 USB 控制器的可用唤醒级别。
在我的系统上运行它会显示 USB 控制器的 S1:
$ acpitool -w
Device S-state Status Sysfs node
---------------------------------------
1. LID S3 *enabled
2. PBTN S4 *enabled
3. PCI0 S3 *disabled no-bus:pci0000:00
4. USB0 S1 *disabled pci:0000:00:1d.0
5. USB1 S1 *disabled pci:0000:00:1d.1
6. USB2 S1 *disabled pci:0000:00:1d.2
7. USB3 S1 *disabled pci:0000:00:1d.7
8. MODM S3 *disabled
9. PCIE S4 *disabled pci:0000:00:1e.0 …Run Code Online (Sandbox Code Playgroud) 运行 XI 时,使用 .xmodmaprc 重新映射某些键:
! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key
Run Code Online (Sandbox Code Playgroud)
如何在控制台上完成相同的事情?
除了我的回答中给出的部分解决方案之外,我还了解到控制台将 CTRL- 映射.到 Compose。所以我可能会习惯这一点。将 Menu 键设置为 Compose 并不容易,因为有大量的 nul 分配的键码,并且没有明显的 Menu 替代名称竞争者。
我还意识到撰写绑定本身比我在 X 下习惯的要有限得多,而且我经常使用的大多数特殊字符都不存在。也许有一个实用程序可以将 X 语法组合绑定转换为loadkeys可以读取的内容?
我大量使用工作区,并且有很多(6x4 网格)。我通常运行 openbox,但目前我使用的机器没有设置 openbox,所以我使用 xfce,因为它已经按照我的喜好进行了大部分配置。当我切换工作区时,我已经习惯于获得视觉反馈,向我展示我刚刚搬到哪个工作区,并且发现自己在 xfce 中有点迷失方向。在 openbox 中,这是一个大的平视显示器,非常理想。我知道工作区切换器面板小程序会突出显示活动工作区,但这似乎只适用于显示一些桌面空间的工作区;因为我通常将所有窗口都最大化,所以这不是很有帮助。
在 xfce 中切换工作区时,有没有办法启用显示新工作区的视觉反馈?
我希望能够使用可编写脚本的命令而不是通过窗口菜单将现有窗口移动(固定)到所有桌面。
wmctrl -r <WIN> -t <DESK>将窗口移动到不同的桌面,但我还没有找到一种方法来使用它来使窗口显示在所有桌面上。 wmctrl -l显示-1为所有桌面上显示的窗口的桌面编号,但传递-1到-t不起作用。
一个未解决的 Fedora 错误报告似乎解决了这个问题:显然 -1 值是由 内部使用的wmctrl,因此不能传递给-t。错误报告还提到可以通过为目标窗口提供粘性属性来将窗口固定在某些窗口管理器上。但是,我正在运行 openbox,这种方法似乎对我不起作用。实际上有一个补丁发布到该错误报告中;我没有尝试使用它。它是从 2009 年开始的。我宁愿避免打补丁wmctrl或其他任何事情。
有没有另一种方法来编写可以在 openbox 下工作的这种行为?
我使用 UPS 电源运行,并希望防止笔记本电脑的电池充电,以增加其他设备可用的电量。有没有办法做到这一点?
更新:机器是戴尔 Latitude D400。如果人们想要更多详细信息,请询问。
另外,我收集到我需要更好地解释我想要的设置。我收到了很多关于取出电池的建议。我不确定人们是否建议在机器运行时取出电池——据我所知,这对大多数笔记本电脑来说不是一个好主意——或者干脆完全取出电池。
后一个选项不是最佳选择,因为理想情况下我想使用笔记本电脑电池中的 30-60 分钟电源,然后切换到 UPS 电源。切换的细节可能构成一个单独的问题,但如果我找不到一种方法来防止笔记本电脑电池充电,那么将电池从机器中完全取出可能是最好的方法。我还不确定这台机器是否可以在没有电池的情况下运行,但我会检查一下。
除了笔记本电脑,UPS 仅支持电缆调制解调器和路由器以及 USB 集线器。
同样在此设置的理想版本中,所有电源管理更改都将自动进行,即不需要重新插入任何东西或按 Fn 键。我希望机器在apcupsd 指示UPS A/C 没电时开始使用笔记本电池电源,然后在电池几乎耗尽时开始使用UPS 电源,但不为电池充电。
今天我不得不强制关闭我的机器,因为它在从挂起恢复期间冻结。自从重新启动后,我发现p密钥在 X 中不能正常工作。它在控制台中可以正常工作。
修改后的按键,例如shift- p,ctrl- p,可以正常工作。
按p与xev运行提供了
FocusOut event, serial 34, synthetic NO, window 0x5000001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 34, synthetic NO, window 0x5000001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 34, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我拿起了一个HP Simplesave外置驱动器。它带有一些对我没有用的花哨的软件,因为我不使用 Windows。与当前许多面向消费者的备份驱动器一样,备份软件实际上包含在驱动器本身中。我想保存驱动器的初始状态,以便在我决定出售时可以恢复它。
备份盒本身有点定制:除了硬盘驱动器设备外,它在/dev/sr0. 我认为这个 cdrom 设备的目的是通过 Windows 自动播放位于磁盘本身的备份应用程序进行引导。我不认为它是如何做到这一点的任何保证,因此保留磁盘的确切状态似乎很重要。
该驱动器被格式化为一个 500GB 的 NTFS 分区。
我最初的想法是用来dd转储磁盘 ( /dev/sdb) 本身,但事实证明这是不切实际的,因为生成的文件并不稀疏。这似乎是因为 NTFS 空白空间不是用零填充,而是用 16 个字节的重复序列填充。
我尝试 gzip 输出dd. 这将文件缩小到可管理的大小——第一个 18GB 被压缩到 81MB,而 47MB 用于压缩已安装文件系统的内容——但是在我公认的有点废弃的 Pentium M 处理器上它非常慢。完成第一个 18GB 的时间大约是 30 分钟。
所以我不得不分别转储磁盘状态和分区数据。
我已经转储了分区状态
sfdisk -d /dev/sdb > sfdisk.-d.out
Run Code Online (Sandbox Code Playgroud)我还创建了 NTFS 分区(磁盘上唯一的一个)的压缩映像
ntfsclone --save-image --output - /dev/sdb1 | gzip -c > ntfsclone.img.gz
Run Code Online (Sandbox Code Playgroud)还有什么我应该做的,以确保我可以恢复驱动器的精确原始状态?