树莓派安装wine

看标题就知道,这就是个坑,没事做的可以进来看看
真搞不懂教程里的成功图片是什么情况......

安装wine

1.打开终端,输入:
sudo apt-get install flex bison
sudo apt-get install build-essential

2.下载wine源码包
wine源码站http://mirrors.ibiblio.org/wine/
这里选择的wine-2.0-rc6.tar.bz2
wget http://mirrors.ibiblio.org/wine/source/2.0/wine-2.0-rc6.tar.bz2

3.打开终端(下载文件目录)输入:
tar jxvf wine-2.0-rc6.tar.bz2
解压文件

4.进入文件夹
cd wine-2.0-rc6

5.输入:
sudo ./configure -v -without-x
wine检查编译环境,检查包依赖是否通过,如果这个不出差错,剩下的几步就只是时间问题。

6.检查完成后,就会提示make,输入:
sudo make depend && make
接下来就是漫长的等待,一般需要几个小时才能完成。

7.编译完成后,提示成功,输入:
sudo make install
这样,wine的编译安装就大功告成了,接下来就是wine的设置了。

设置wine

1.打开终端,输入(一定不要用sudo或者root用户执行这个,如果用一般用户时出现问题,都是前面的某些步骤没有做好,而不单单是权限的问题,用root很多时候非但不能解决问题,还会使问题更严重)。
输入:
winecfg
(注:这个命令在使用wine之前至少要执行一次,他会建立wine的运行文件夹 ~/.wine .wine是一个隐藏文件夹,里面有wine的注册表文件和虚拟的C盘。)

一般情况winecfg会出现错误

树莓派3B是卡片电脑,内存为1GB,一般运行Linux。Linux两种主流的内存分配方法2G/2G和3G/1G,树莓派系统后期优化性能,使用2G/2G。(注:树莓派内核3.x仍旧采用3G/1G)
Wine提供Windows API,Winehq官网提供的Wine都是兼容3G/1G的Linux内核。这导致Wine在树莓派3B上运行时会出现内存地址映射,用户数据空间地址映射失败。这些错误都是wine-preload发出的。
这里有两种解决方案。

方法一,编译新的Linux内核:(本地编译,在树莓派上操作)
1.更新软件包:
sudo apt-get update
2.安装git(已经有的可以跳过):
sudo apt-get install git
同步内核源码:
git clone --depth=1 https://github.com/raspberrypi/linux
(注:此代码只同步.git项目仓库中的master分支)(大约1分钟,如果时间过长,说明下载网速过低)
3.生成配置文件
先进入clone下来的文件夹,然后执行
make bcm2709_defconfig
会在该目录下生成.config配置文件。
4.执行命令:
KERNEL=kernel7
5.修改.config文件:
sudo nano .config
查找# CONFIG_VMSPLIT_3G is not set 改为CONFIG_VMSPLIT_3G=y
再查找 CONFIG_VMSPLIT_2G=y 改为 # CONFIG_VMSPLIT_2G is not set 保存
6.执行命令:
make -j4 zImage modules dtbs (这里需要几个小时,注意散热。)

可能会报错,以下为参考

6.1修改config.txt
将boot分区下的config.txt中的kernel=这一行改为kernel=kernel3g.img否则无法使用新的内核。
如果想换回原来的内核,就改为kernel=kernel7.img
注意,只有官方系统可以按照以上步骤,其他的arm64系统请不要按照使用此教程,详见其他系统的说明。
6.2安装libssl-dev
出现fatal error: openssl/opensslv.h。
原因是libssl-dev没有安装
libssl-dev包含libraries, header files and manpages,是openssl的一部分
sudo apt-get install libssl-dev
安装libssl-dev
6.3安装bc
出现错误:/bin/sh: 1: bc: not found
这是因为bc没有安装。
bc 是字符终端下的一个计算器。
sudo apt-get install bc

7.安装:
sudo make modules_install
sudo scripts/mkknlimg arch/arm/boot/zImage /boot/kernel3g.img
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/

8.执行重启
reboot

winecfg错误提示

9.重启后运行winecfg出现
Application tried to create a window, but no driver could be loaded.
The graphics driver is missing. Check your build!
err:systray:initialize_systray Could not create tray window

10.迷茫地清盘格式化
我就不该瞎折腾

方法二,安装旧版本的wine
旧版本的wine是没有预加载器,可能使用旧版本就不会报错了...吧...(亲测1.7.0版本也会出现相同问题…………)

可能情况winecfg正常

稍等片刻,就会出现一个面板,这就是wine的一些基本的配置。
打开Audio的标签,这个面板会失去反映一段时间,之后出现一个声音驱动程序的选择框,一般情况下选择OSS。如果你是独立的声卡,选择ALSA更好。如果只有OSS,就选择OSS。
在Application Settings里下面的windows版本把默认的改成win xp,以前很多帖子都说win 98支持的软件的软件更多,但现在似乎是xp下运行软件更顺畅。反正如果出现软件不能运行的问题,可以把98和xp互换试一下。

2.使用wine运行
打开终端到软件目录,输入:
wine 软件名称.exe

参考1.http://blog.sina.com.cn/s/blog_12d0c6c8a0102x7fh.html
参考2.https://zhidao.baidu.com/question/717208614600608405.html
参考3.https://blog.csdn.net/beilson/article/details/79774036
参考4.https://blog.csdn.net/you19890102/article/details/70054746

点赞
  1. rilp说道:
    Firefox Windows 10

    我的报错不太一样
    第九步
    root@raspberrypi:~# winecfg
    /usr/local/bin/winecfg: 46: exec: /usr/local/bin/wine: Exec format error

    板子是3B

    1. injahow injahow说道:
      Google Chrome Windows 10

      嘛,所以说折腾得要死,以后再研究吧 :huaji9:
      还有,域名可以不填的

    2. 路过说道:
      Google Chrome Android 9

      主要还是内存拆分3g/1g,然后内核适用binfmt_misc模块,一般安卓的linux内核都没有吧。
      安装了Qemu-86
      装wine
      Chroot
      内核编译为3 / 1GB

      目前主要有Android exagear已经具备wine可玩性。

    3. lou说道:

      error:bash: winecfg:未找到命令

      why?????

发表评论

电子邮件地址不会被公开。必填项已用 * 标注