创建容器

容器就是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. (二)react-native开发系列之windows开发环境配置

    之前写了react-native在mac上得环境搭建,但是如果只开发android的话,只要用windows系统就可以了,下面就来说下react-native的windows开发环境配置. 1.下载配 ...

  2. 配置和查看composer镜像

    composer 默认地址改为中国镜像地址,以及中国镜像地址还原成默认地址 一.查看当前镜像地址 在命令行输入如下命令,即可查看全局镜像地址: $ composer config -g repo.pa ...

  3. log4j托管tomcat日志

    由于项目中 Tomcat 日志越来越大,对于日志查找非常不方便,所以经过一番调查可以通过log4j来托管 Tomcat 日志的方式,实现Tomcat日志切片.这里只说明怎么是log4j托管Tomcat ...

  4. Android笔记(七) Android中的布局——线性布局

    我们的软件是由好多个界面组成的,而每个界面又由N多个控件组成,Android中借助布局来让各个空间有条不紊的摆放在界面上. 可以把布局看作是一个可以放置很多控件的容器,它可以按照一定的规律调整控件的位 ...

  5. javascript之位置

    1.offset()获取匹配元素在相对浏览器窗口的偏移量 返回一个对象,包括两个属性.left:相对浏览器窗口左边的距离.top:相对浏览器顶部的距离.  $("#div1").o ...

  6. 他爬取了B站所有番剧信息,发现了这些……

    本文来自「楼+ 之数据分析与挖掘实战 」第 4 期学员 -- Yueyec 的作业.他爬取了B站上所有的番剧信息,发现了很多有趣的数据- 关键信息:最高播放量 / 最强up主 / 用户追番数据 / 云 ...

  7. [postman][API 测试]用Postman做RestAPI测试学习笔记

    痛点:最近有个API网关的兼容性测试任务,需要验证API是否可用,返回值符合预期,如果手工复制粘贴curl命令,繁琐且低效 调研时发现了Postman 这个chrom插件,试用了2天后发现使用起来很方 ...

  8. Gitlab,Mac下生成SSH Key222

         git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置.简单的说,Git - 版本控制工具:Github是一个网站,提供给用户空间创建git仓储 ...

  9. 28-SQLServer带见证服务器的镜像搭建

    一.注意点 1.数据库的模式要是完整模式. 2.要对数据库完整备份和事务日志备份,分别还原到镜像库上,使用NORECOVERY模式. 3.镜像数据库是不允许删除和操作,即便查看属性也不行. 4.先删除 ...

  10. go 变量的定义方式

    var a int a = 1 var a,b int a =1 b = 2 var a,b = 1,2 var s string = "hello world" a, b := ...