接下来就要让这个设置永久性得起作用。如果你使用的是gentoo,将前面的这个命令复制到你的/etc/rc.d/rc.local 或 /etc/conf.d/local.start文件中。如果你使用的是基于Debian的发行版,就要复制下面的命令到 /etc/init.d/wine: #!/bin/sh test -e proc/sys/fs/binfmt_misc/register || exit 0 case "$1" in start) echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register ;; stop) echo 0 > /proc/sys/fs/binfmt_misc/status ;; *) echo "Usage: $0 {start|stop}" >&2 exit 3 ;; esac 然后,通过 chmod 755 /etc/init.d/wine 让文件能够被用户执行。再通过 update-rc.d wine start 99 2 3 4 5 . stop 10 0 1 6 . 让它在启动过程中开始起作用。
最后一步,确认你的Windows二进制程序能够被执行,当然还是通过这个命令 chmod 755 ./My\ Windows\ App.exe 接下来,你就能和运行linux程序一样来运行它了。当然,为了方便,你还可以建立一个符号连接到你的任何一个PATH路径下,例如 /usr/local/bin。
用同样的办法,binfmt_misc能够运行基于java和python编写的程序,如果想得到更多信息的话,请参考任何一个版本较新的内核文件包中的Documentation/binmft_misc.txt。
这个技术也许在应用上还存在一些安全性问题------例如本地提权------因此,请让值得信任的用户在更新过的系统中使用。更好的办法,是让你的/proc文件系统通过nosuid属性挂载。(T002)
在Linux中直接运行Windows二进制程序
来源:
作者:
时间:2007-03-13
Tag:
点击:
0
