Tag: linux

为什么XGrabKey生成额外的焦点和焦点事件?

有没有人知道一个xlib函数来捕获按键事件,而不会失去原来的焦点? 如何摆脱它? (或者“使用XGrabKey()而不生成抓取式聚焦”?) (或者“在系统级别如何摆脱NotifyGrab和NotifyUngrab焦点事件? XGrabKey将失去对按键的焦点,并恢复焦点释放的按键。 我想捕捉按键没有泄漏到原来的窗口(就像XGrabKey可以做到这一点)。 参考文献: … XGrabKey将窃取焦点… https://bugs.launchpad.net/gtkhotkey/+bug/390552/comments/8 …程序收到控制权以响应组合键。 同时,程序已经暂时集中在 … 在XGrabKey(板),发现哪个窗口已经集中 … XGrabKeyboard函数主动抓取键盘控件,并生成FocusIn和FocusOut事件… http://www.x.org/archive/X11R6.8.0/doc/XGrabKeyboard.3.html#toc3 …我看不到一种方式来提供metacity当前的桌面changin行为(同时更改并显示popup对话框),而不会导致窗口上的Grabtypes焦点… https://mail.gnome .ORG /档案馆/ WM说明列表/ 2007-月/ msg00000.html …全屏模式不应该退出与NotifyGrab的FocusOut事件… https://bugzilla.mozilla.org/show_bug.cgi?id=578265 抓住键盘不允许改变焦点… 抓住键盘不允许改变焦点 Grabs生成的焦点事件(XGrabKeyboard的主动抓取和XGrabKey的被动抓取) http://www.x.org/releases/X11R7.6/doc/libX11/specs/libX11/libX11.html#Focus_Events_Generated_by_Grabs XGrabKey源代码: http ://cgit.freedesktop.org/xorg/lib/libX11/tree/src/GrKey.c也许我们可以修改这个来摆脱焦点事件? 有“DoFocusEvents(keybd,oldWin,grab-> window,NotifyGrab);” 在ActivateKeyboardGrab()中: http : //cgit.freedesktop.org/xorg/xserver/tree/dix/events.c 我正在为按键组合(和鼠标移动)绘图软件写一个按键: https : //code.google.com/p/diyism-myboard/ 我已经在Windows中用RegisterHotKey()和UnRegisterHotKey()实现了它: https : //code.google.com/p/diyism-myboard/downloads/detail? name = MyBoard.pas 我想用XGrabKey()和XUngrabKey()把它迁移到Linux中: https : //code.google.com/p/diyism-myboard/downloads/detail? name […]

Linux中的“stale file handle”是什么意思?

假设我有一个terminal打开,并通过该terminal,我已经cd到某个目录。 通过另一个terminal,我删除该目录,并从相同的备份恢复它。 当我尝试从第一个terminal的vim文件,在同一个目录中,为什么我得到一个关于一个陈旧的文件句柄的错误? 这是什么意思? (在附注中,我发现可以通过cd $(pwd)绕过这个问题。)

stream浪鸡与蛋:与uid = apache用户共享文件夹

My Vagrant框是从一个基本的Linux(科学的Linux)构build的,在configuration(使用shell脚本)期间,Apache被安装。 我最近将stream浪文件(v2)更改为: config.vm.synced_folder "public", "/var/www/sites.d/example.com", :owner => "apache", :group => "apache" 如果该框已经设置好并重新启动,那么效果很好。 现在,经过一个vagrant destroy && vagrant up我得到的错误: mount -t vboxsf -o uid=`id -u apache`,gid=`id -g apache` /var/www/sites.d/example.com /var/www/sites.d/example.com id: apache: User does not exist 这是清楚的 – 在最初的运行,apache尚未安装。 一个丑陋的解决方法当然是做synced_folder注释掉的基本configuration,注释它,然后重新启动。 有没有干净的伎俩来解决这个问题? 特别是以一种vagrant up的方式运行,即使箱子是新的。

我可以告诉Linux不要换出特定进程的内存吗?

有没有办法告诉Linux不应该把特定进程的内存换成磁盘? 它是一个Java应用程序,所以理想情况下,我希望能够从命令行执行此操作。 我知道你可以把全球swappiness设置为0,但这是明智的吗?

从networking摄像头使用Linux命令行(bash)拍照

我清楚地知道,已经有了“完全” 同样的问题 ,但是似乎最初发布这个问题的用户从来没有对这个问题感兴趣,而且答案都是针对windows系统的。 我想每隔N time units使用摄像头拍摄一张照片,并将其存储到/tmp/somefolder/以供其他工具进一步使用,并只保留last M images 。 主要的问题是拍照开始,其余的我会覆盖很多,会很高兴的任何build议。 操作系统:Ubuntu 10.04 x86_64networking摄像头:MS LifeCam VX2000和/或罗技C210(都与奶酪一起工作)

使用-exec {}查找,有没有一种方法来计算总数?

我正在使用一个类似这样的命令: find . -name "*.php" -exec chmod 755 {} \; 虽然,我不使用chmod,但我正在使用不同的命令,我不会在这里列出。 这个命令工作正常。 但是,有数以千计的文件和目录需要操作,这个操作需要一些时间。 我想知道是否有一种方式来显示操作完成时的某种总数? 也许是修改文件的计数? 我能想到的唯一的事情就是做一些事情: find . -name "*.php" -exec chmod 755; echo "+"; {} \; 这会工作吗? 至less我们可以看到发生了一些事情…任何人都有更好的build议?

什么是在结构中的零长度数组的目的?

当我在看Linux内核代码时,发现下面的代码: struct thread_info { struct task_struct *task; struct exec_domain *exec_domain; unsigned long flags; __u32 status; __u32 cpu; int preempt_count; mm_segment_t addr_limit; struct restart_block restart_block; void __user *sysenter_return; unsigned long previous_esp; __u8 supervisor_stack[0]; }; 注意最后一个variables“supervisor_stack”,它是一个长度为零的数组,它的用法是什么? 提前致谢!

跨多台计算机pipe理用户configuration文件

我通常在多台电脑上工作。 我有各种configuration文件,例如, .bashrc , .gitconfig , .irbrc , .vimrc和configuration文件夹,例如.vim/包含有价值的自定义。 有时我需要在不同计算机之间的configuration上有小的变化。 我想使用版本控制来pipe理这些不同的文件。 其他人使用版本控制来pipe理他们的configuration文件? 有什么提示可能会使这更容易? 处理计算机之间差异的最优雅方式是什么? 我很喜欢git ; 任何其他build议?

错误403在我的index.php加载资源,如CSS和JS

我在Linux,基本操作系统,并select安装lampp。 我的CSS和JS将不会加载。 当我通过浏览器检查我的页面时。 控制台说失败加载资源:服务器响应状态403(禁止)我真的相信我的目录是正确的。 这是错误

找出字体支持的字符

如何在Linux上从TrueType或embedded的OpenType字体中提取受支持的Unicode字符的列表? 是否有一个工具或库可以用来处理.ttf或.eot文件,并build立由字体提供的代码点列表(如U + 0123,U + 1234等)?