|
发表于 2004-4-20 15:02:03
|
显示全部楼层
这个问题,可以加一个X server的外层,让他启动X的时候自动设定优先权。
代码摘自gentoo论坛,仅在我的机器上测试过。
首先,创建一个新的名为wrapper.c的文件,内容如下:
[PHP]
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
const char *app = "/usr/X11R6/bin/XFree86"; // the actual binary
const int root = 0; // root's uid
const int n = -10; // desired nice priority valid range -20..20.
int main(int argc, char **argv)
{
seteuid(root); // The X server must be started as root under any Linux
nice(n); // Makes it nice
execv(app, argv); // This is it!
/* Should never see this unless *app points to invalid binary */
fprintf(stderr, "Failed to execv %s with nice value of %d\n", app, n);
exit(1);
}
[/PHP]
然后编译(井号是提示符,勿输入):
# gcc wrapper.c -o XFree86.wrapper
将刚才写的那个wrapper替代原来的X:
[PHP]
# su root
# cp XFree86.wrapper /usr/X11R6/bin
# cd /usr/X11R6/bin
# rm X
# chown root XFree86.wrapper
# chmod u+s XFree86.wrapper
# ln -s XFree86.wrapper X
[/PHP]
最后退出X, 再重新进入。 |
|