Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

1
是否可以自动从暂停中唤醒?
这是我的问题: 我有一台运行Arch的笔记本电脑,我一直呆在家里。它的电池续航时间长达4小时,但有时我的女儿在电池存放的地方玩耍,最后拔下插头。好吧,当我五个小时后回到家时,笔记本电脑硬关机了。 此外,有时我会暂时将其暂停,并忘记一天左右的时间-同样的问题。 这是我的主张: 所以我的想法是,我可以做一次每15或30分钟左右运行一次的cron工作,以检查电池寿命。如果电池寿命还不到N分钟,我可以让笔记本电脑进入休眠状态。如果我的笔记本电脑处于正常“开启”状态,则可以正常工作。但是如果我被停职,那就不要那么多了。所以我的问题有两个方面-是否有更好的方法可以做到这一点,如果没有,是否可以在挂起模式下进行某种监视-基本上只是运行该cron作业? 这是起作用的: 按照Arch Wiki上的uswsusp指示,我从AUR安装了uswsusp 。使用以下命令: wayne@jughead:~$ swapon -s Filename Type Size Used Priority /dev/sda2 partition 530140 56744 -1 我发现/dev/sda2这是我的交换分区的名称。所以我在我的/etc/suspend.conf snapshot device = /dev/snapshot resume device = /dev/sda2 我在这里的mkinitcpio.conf中添加了uresume: HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck" 我创建/etc/pm/config.d/module并放入 SLEEP_MODULE=uswsusp 在里面。 由于无法识别(# s2ram --test显示Machine unknown)我的笔记本电脑,因此我不得不使用该--force选项。 …


1
大多数Windows开发环境中的Linux
一点背景:我们的商店传统上运行Microsoft软件堆栈,但是现在我们计划使用嵌入式Linux,我发现自己扮演了Columbus的角色:征服新世界。我之所以提及这一点,是因为这意味着我缺乏上下文来解释您认为简单的答案。如果您可以通过比较Windows的工作方式来解释问题,那么这将大大有助于理解。 如果我正确理解了X-Windows的概念,则应用程序是X客户端,并且窗口API通过TCP套接字向X-服务器发送/接收UI消息(向X-服务器发送窗口绘制命令并接收鼠标以及来自它的键盘活动消息)。 据我了解,使用套接字意味着应用程序代码可以在一个Unix框上运行,而UI在运行于(例如)任意一个上的X服务器上运行 同一台计算机 在同一网络上运行X服务器的另一个Unix盒 在同一网络上运行X服务器的Windows框“ W” 只要防火墙和路由已正确配置为允许所需的套接字,则可以在Internet上任何位置运行X服务器的任何设备。 在我的办公桌上,我有一个使用Cinnamon桌面的Linux Mint13主机,命名为ForwardUntoDawn。它以35连接到我的192.168.174网络,我的Win7和11连接在同一网络上。它们可以相互ping通,并且SAMBA允许它们之间共享文件。我已经在ForwardUntoDawn上安装了telnetd和sshd,可以从Win7 telnet和ssh会话建立会话,并进行身份验证以获取命令行。 在Win7系统上,我安装了带有Xming和Xlaunch桌面图标的Xming。运行Xlaunch,我回答提示: 多视窗/显示0 启动程序:gimp使用SSH(C:\ Cygwin \ bin \ SSH.exe) 剪贴板是,否字体服务器或参数 这会立即导致黑色的命令窗口,但是在我无法阅读消息之前消失了。 谁能指导我进一步的步骤,或者对Xming的需求做出更适当的回应?(我选择gimp只是因为我知道它已经安装并且可以工作。) 请注意,要使用下面的答案还请阅读注释,并注意您必须使用cygwin \ bin \ startxwin.exe启动cygwin xserver,以使其正常工作,我想这会初始化一些环境变量。 我最终没有使用Xming。在Linux机器上正确设置ssh设置并成功使用Cygwin工具后,我又使用了Xming。使用Xlaunch启动的应用程序将启动,但随后突然消失。使用严格的Cygwin工具不会发生此问题。




2
Linux最大线程数
我的服务器已在Amazon Ec2 linux上运行。我里面有一个mongodb服务器。mongodb服务器一直在高负载下运行,不幸的是,我遇到了问题:/ 众所周知,mongodb会为每个客户端连接创建新线程,并且在此之前运行良好。我不知道为什么,但是MongoDB不能以非特权用户(在mongod用户下运行)在主机上创建超过975个连接。但是当我以root用户身份运行它时,它最多可以处理20000个连接(mongodb内部限制)。但是,进一步的调查表明,问题不是MongoDB服务器,而是Linux本身。 我找到了一个简单的程序,该程序检查最大连接数: /* compile with: gcc -lpthread -o thread-limit thread-limit.c */ /* originally from: http://www.volano.com/linuxnotes.html */ #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <string.h> #define MAX_THREADS 100000 #define PTHREAD_STACK_MIN 1*1024*1024*1024 int i; void run(void) { sleep(60 * 60); } int main(int argc, char *argv[]) { …

2
如何为Awesome WM创建屏幕锁定计时器?
我有一个带有Awesome WM的Ubuntu 12.04系统,并且我希望屏幕保护程序可以在Unity中工作: GNOME屏幕保护程序 Ctrl- Alt-L对锁 N分钟的超时时间,可以尊重暂时禁用屏幕保护程序的应用程序 键盘快捷键相对简单: -- Lock screen awful.key( { "Mod1", "Control" }, "l", function () awful.util.spawn("gnome-screensaver-command --lock") end) 我该如何解决第3点?

2
尝试在Perl重命名工具(Debian)中进行算术运算
假设我有五个mp3文件: 01-trackfoo.mp3 02-trackbar.mp3 03-trackbaz.mp3 04-trackabc.mp3 05-trackxyz.mp3 现在,我快速聆听文件(只需在控制台上的mplayer就能解决问题),然后发现音轨顺序错误。05实际上是02,其余的将不得不重命名。所以首先我将进行临时重命名: 01-trackfoo.mp3 02-trackbar.mp3 03-trackbaz.mp3 04-trackabc.mp3 00-trackxyz.mp3 现在我们需要一个“移位”:02应该变成03,03应该变成04,04应该变成05。为了最大程度地减少混乱,将mv稍后编辑ex-05(现在为00)。 我的方法是这样的:(perl rename,由Larry Wall提供,默认为Debian) rename 's/0([2-4])([\s\S]+)/0($1+1)$2/' * 以及(之后再进行一些RTFM操作) rename 's/0([2-4])([\s\S]+)/0($1+1)$2/e' * 它们都/e[val]不起作用,特别是因为修饰符除了求值以外不接受其他任何东西,并且一旦您尝试将求值与字符串结合起来就会抛出错误。该bash能做到这一点就好了,例如, foo$((1+6))将被评估到foo7。 那么,我该怎么做(首选单行代码,不打算为此编写整个独立脚本)?

2
在高清启动后恢复ext4分区
我不小心使用dd并覆盖了外部磁盘的前208MB。我写的是一个单独的分区(Debian nestinstaller),所以我现在看到的不是旧的(现在已损坏)的ext4分区,而是另一个较小的分区。这限制了我可以遵循的工具和建议。 我的计划是重新创建分区表testdisk,然后描述与备份超级块搞定一切在这里。我会丢失前208MB,但与其中的其他300GB数据相比,这还可以。类似于以下内容: mke2fs -n /dev/sdb1 # doesn't work because sdb1 is the 208MB new partition testdisk ... # used this to create new correct partition table mke2fs -n /dev/sdb1 # now works fine, get backup superblock positions e2fsck -b backup_position -y /dev/sdb1 # returns many errors hence the -y …

3
目标上的rsync和写入权限
我一直想知道为什么要rsync尝试将文件传输到远程位置,该位置具有目标目录的读/执行权限,但是没有写权限来创建实际的目标文件。当尝试以普通用户的身份将文件复制到/时,甚至可以在本地模拟,这rsync将传输整个文件(对于大文件也要花费相当长的时间),最终失败 rsync: mkstemp "/.myTargetFile" failed: Permission denied (13) 因此,在尝试在传输过程中创建临时文件(点文件)时,启动似乎已经失败。为什么它没有注意到这一点并提前中止,而不是尝试在没有任何写权限的情况下复制整个文件? 如果无法创建临时文件,它将文件复制到何处?我看不到rsync进程的任何内存增加,也没有在/ tmp中找到相应的文件。似乎它直接丢弃了目的地的数据,但仍继续传输。

3
切换setxkbmap的脚本
我想要一个bash脚本,它可以在setxkbmap se和之间切换 setxkbmap us。 然后,我的意图是CtrlEsc通过键盘>自定义快捷方式将该脚本映射到。 关键是我想用切换键盘布局CtrlEscape。我该如何实施?

1
省电可启用触摸板
我已经使用Debian Wheezy在笔记本电脑上安装了节电软件包(大黄蜂,笔记本电脑模式工具和cpufreq)。因此,我将功耗从32W降低到10W。但是现在我遇到了无法禁用触摸板的问题。我写了一个简单的脚本来反转触摸板的状态: #!/bin/sh synclient TouchpadOff=`synclient | grep TouchpadOff | awk '{print !$3}'` 当我启动此脚本时,它会按预期的方式反转触摸板的状态,但是在5秒钟内,TouchpadOff将值“ 2”重写,并且触摸板再次变为活动状态。 我想是笔记本电脑模式工具修改了TouchpadOff变量。我试图在笔记本电脑模式工具中找到相关设置,但没有找到任何东西。 有什么想法如何确定谁修改了TouchpadOff变量以及如何禁用这种修改?


2
通过网络将键盘共享为单独的设备?
我正在尝试实现类似于以下的功能:https : //superuser.com/questions/67659/linux-share-keyboard-over-network 不同之处在于,我需要远程键盘与本地键盘分开使用。链接中描述的方法似乎将事件传送到现有设备文件中。我需要在运行时将远程键盘显示为物理(从属)设备xinput list 我为什么需要这个?我正在尝试玩两人游戏,但没有外部USB键盘,因此我想将远程计算机上的按键输入到假设备(这样我就可以为每位玩家分配一个设备)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.