创建容器

容器就是win32程序运行的环境,可以理解为一个极小的windows,在Linux下面实际对应一个文件目录,如QQ对应的容器目录是~/.deepinwine/Deepin-QQ。

创建容器最简单实用的方法就是将deepin维护的容器拷贝一份,如将QQ的容器拷贝一份到用户目录。cp -r ~/.deepinwine/Deepin-QQ ~/.bottle

创建一个干净的容器可以用如下命令:WINEPREFIX=~/.bottle deepin-wine winecfg 。但是这样可能会有一些字体乱码的问题。

运行程序

只通过deepin-wine *.exe 可以运行程序,但是默认通~/.wine的容器运行,~/.wine是wine默认生成的干净的容器,没有适配应用运行可能会有一些问题,所以最好通过上一步创建好的容器,可以每一个应用对应一个容器,不同的应用可能会需要不同的配置。

通过WINEPREFIX的环境变量可以指定容器运行程序。如WINEPREFIX=~/.bottle deepin-wine *.exe

简单debug

简单的分析程序运行出现的问题,可以打开deepin-wine输出日志的通道,通过WINEDEBUG环境开关。如 WINEDEBUG=+pid,+tid,+process WINEPREFIX=~/.bottle deepin-wine *.exe

Deepin-wine应用全局快捷键设置

启动快捷键脚本

更新deepin-wine-helper

sudo apt-get update && sudo apt-get install deepin-wine-helper

更新到最新,/opt/deepinwine/tools/sendkeys.sh中有 $3 control mode , default ctrl+alt 这行注释就可以

确认需要设置快捷键的进程名和快捷键

如果不清楚需要设置的快捷键组合是什么,可以在设置中找到。如打开微信的快捷键是 ctrl+alt+W

进程名就是运行的exe的名字,可以用深度系统监视器查看。程序运行之后可以在监视器中找到对应的进程->右键菜单中选择属性->查看命令行的信息可以看出进程名。 如微信的进程名是: WeChat

验证启动快捷键的脚本

启动快捷键是通过/opt/deepinwine/tools/sendkeys.sh脚本运行,第一个参数是快捷键的键值,目前只支持字母,第二个参数是进程名,第三个参数是控制键的组合。详细说明参考/opt/deepinwine/tools/sendkeys.sh的注释。如打开微信的快捷键就可以写成: /opt/deepinwine/tools/sendkeys.sh w WeChat 4

程序运行的情况下,在终端运行脚本验证脚本是否有效。

添加自定义快捷键

在deepin的控制中心中添加自定义的快捷键。

名称:自己随意填

命令:填上面验证过的命令,如 /opt/deepinwine/tools/sendkeys.sh w WeChat 4

快捷键:输入自己方便的组合,不一定要和程序中设置的一致

已知问题,微信截图的快捷键 alt+a 没有效果,可以在微信中将截图的快捷键改为 Ctrl+a,对应的脚本命令就是 /opt/deepinwine/tools/sendkeys.sh a WeChat 2。

如何用Deepin-wine安装运行win32的程序的更多相关文章

  1. Rust安装-运行第一个程序-hello_world

    Rust官网:https://rust-lang.org/ 安装 点击install,选择版本 选择相对应的版本进行下载 我这里下载的是windows系统,运行下载好的exe文件,根据需要选择选对应的 ...

  2. Ubuntu安装deepin wine版QQ

    1.安装deepin wine环境 https://github.com/wszqkzqk/deepin-wine-ubuntu 直接下载zip包(或者用git方式克隆) 使用unzip解压到指定文件 ...

  3. Ubuntu 20.04上通过Wine 安装微信

    没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己. 首先介绍下我使用过的其他方法,希望可以节省大家一些时间: Rambox Pro:因为原理是网页 ...

  4. Ubuntu 16.04下使用Wine安装Xshell 4和Xftp 4

    说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.由于Xshell 5的C++库无法在这个Wine版本运行,即使升级官方原版的2+版 ...

  5. (转载)用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序“

    原文地址:http://www.vcerror.com/?p=1483 问题描述: 用VC2013编译了一个程序,在Windows 8.Windows 7(64位.32位)下都能正常运行.但在Win ...

  6. wine安装稳定使用falsh播放器

    1安装wine,wine安装使用网上自行查找 2.安装flash播放器.exe 下载附件的falsh播放相关.tar.gz,解压后得到 Flash.ocx (flash10 for windows的插 ...

  7. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  8. 在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件

    在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件 一.前言 在Linux上办公有一点一直是大家的痛,那就是这些系统上没有我们常用的一些软件,比如QQ,微 ...

  9. ubuntu kylin 18.04 使用 wine 安装 EasyConnect 的windows版本

    首先下载wine: sudo apt-get install wine-stable 然后使用wine安装安装包EXE文件(安装包你自己去下): wine EasyConnectInstaller.e ...

随机推荐

  1. Linux挂载Windows文件夹

    # sudo mount -t \ -o user=username \ //Windows用户名 -o uid=myname \ //Linux用户名 -o gid=users \ -o defau ...

  2. SAP Cloud for Customer的Container应用设计原理

    来自Jerry的同事,Yang Joey. 相信大部分C4C的UI developer包括我刚开始的时候都会比较好奇我们平时写的javascript代码是如何运行在移动设备上的,同样的,我也对这个问题 ...

  3. jquery-weui滚动事件的注册与注销

    注册infinite(50)是自定义的,详细暂时没去了解,可以不写即代表默认值. // body是整一块代码的标签,也就是滚动的部分. $('body').infinite().on("in ...

  4. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  5. 【SpringMVC】RESTful支持

    一.概述 1.1 什么是RESTful 1.2 URL的RESTful实现 二.演示 2.1 需求 2.2 第一步更改DispatcherServlet配置 2.3 第二步参数通过url传递 2.4 ...

  6. CI,CD理解

    一.什么是CI,CD ​ 当我们在谈论现代的软件编译和发布流程的时候,经常会听到CI 和CD这样的缩写短语.CI很容易理解,就是持续集成. ​ 但是CD既可以指代码持续交付,也可理解为代码持续部署.C ...

  7. Django之小结

    常用的函数方法与包的调用 # 登陆视图函数 def login(request): if request.method == 'GET': return render(request,'login.h ...

  8. imx6q 启动logo

    转:https://wenku.baidu.com/view/81fa0f3982c4bb4cf7ec4afe04a1b0717fd5b30e.html?rec_flag=default&sx ...

  9. C++——多态实现原理分析

    前言 虚函数执行速度要稍慢一些.为了实现多态性,每一个派生类中均要保存相应虚函数的入口地址表,函数的调用机制也是间接实现.所以多态性总是要付出一定代价,但通用性是一个更高的目标. 实验环境 Windo ...

  10. 配置多网卡多IP的方式

    [root@web01 conf.d]# cat ip.conf server {     listen 10.0.0.7:80;     server_name _;       location ...