在Deepin Linux下,默认地,使用apt安装的Wine并没有创建文件关联,这使得在文件管理器中双击exe等Windows可执行文件时,不能直接运行。为此,必须手动在桌面环境中创建文件关联。

文件关联的位置

DDE(Deepin Desktop Environment,深度桌面环境)、Gnome等桌面环境通过桌面配置文件*.desktop,来定义在桌面环境下运行应用程序的入口,这些配置文件放置在/usr/share/applications目录下。文件关联——打开文件的方式,正是运行应用程序入口的一种用法。文件管理器通过读取该目录下定义的配置文件,来获取某种特定类型文件的打开方式。

因此,我们只需要编写合适的配置文件,放入其中,然后设置exe等文件的打开方式,就可以通过双击直接运行Windows程序了。

Desktop配置文件内容与解析

笔者编写的配置文件如下所示。将下述配置文件保存为/usr/share/applications/Wine.desktop。添加完成之后,就可以在exe文件的打开方式中看到Wine了。

[Desktop Entry]
Name=Wine
Name[zh_CN]=Wine
GenericName=Launch by Wine
GenericName[zh_CN]=使用Wine运行
Comment=Launch by Wine
Comment[zh_CN]=使用Wine运行
MimeType=application/octet-stream
Keywords=exe;scr;
Exec=deepin-wine %f
Icon=wine【注意,这个icon可以是图片的绝对路径】
Terminal=false
Type=Application
NoDisplay=false
Categories=System;Utility;
StartupNotify=true

各个参数的意义如下:

参数名 定义
Name 桌面项目的名称
[zh_CN]的为中文环境下的名称
GenericName 桌面项目的标准名称
[zh_CN]的为中文环境下的名称
Comment 桌面项目的注释,用以填写说明信息
[zh_CN]的为中文环境下的注释
MimeType 桌面项目所对应的MIME,使用分号分隔
application/octet-streamexe可执行文件对应的MIME
Keywords 关键字,通常指定桌面项目的扩展名。Linux下使用的Windows可执行文件主要是exescr
Exec 桌面项目运行的命令。在这里启动Wine,用Wine运行我们的目标程序。【还可以java -jar %f】
%f为用该桌面项目打开的文件路径,%u为URI。我们使用%f,使用%u会导致Wine找不到文件。
Icon 桌面项目使用的图标。由DDE管理,设置为Wine以使用Deepin为Wine项目设计的图标
Terminal 设定是否使用终端模式运行。设置为false,运行命令时不会显示终端;设置为true则会在终端中执行,主要用于调试。
Type 桌面项目的类型。典型的值有Application(应用程序)。【这个值不能乱写】
NoDisplay 具体作用未知,需要查查Gnome桌面环境的文档。
Categories 指定桌面项目的类别。
StartupNotify 具体作用未知,需要查查Gnome桌面环境的文档。

作者:爱拼安小匠
链接:https://www.jianshu.com/p/b37de85922a6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Deepin Linux下为Wine创建文件关联的更多相关文章

  1. 记录在linux下的wine生活

    记录在linux下的windows生活 本篇内容涉及QQ.微信.Office的安装配置 QQ: 到deepin下载轻聊版. 如果安装了crossover,那么将其中opt/cxoffice/suppo ...

  2. Linux下的wine生活(QQ/微信/Office)

    My wine life like windows 本篇内容涉及QQ.微信.Office在wine中的使用配置. QQ 到deepin下载轻聊版. 如果安装了crossover,那么将其中opt/cx ...

  3. linux下恢复误删除的文件方法(ext2及ext3)

     linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...

  4. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  5. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  6. Linux 下 Vi 配置文件 .vimrc 文件

    Linux 下 Vi 配置文件 .vimrc 文件 配置 vim 的方法是在用户主目录下建立个.vimrc文件,我一般使用root帐户,所以就在/root/下建立一个.vimrc文件:vi /root ...

  7. linux下为目录和文件设置权限

    摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...

  8. Linux下useradd命令创建的用户不能登录的问题

    Linux下useradd命令创建的用户不能登录的问题  问题: 用useradd命令新创建一个用户tester 密码pwdtest mkdir -p /home/tester(创建文件夹) user ...

  9. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

随机推荐

  1. linux线程操作

    初始化条件变量 int pthread_cond_init(pthread_cond_t *cv,pthread_cond_attr *cattr); 函数返回值:返回0表示成功,返回其他表示失败. ...

  2. 安装vs code之后,win+e快捷键打开的是vs code,而不是文件管理器,解决方法

    安装vs code之后,win+e快捷键打开的是vs code,而不是文件管理器,解决方法 xdg-mime default dde-file-manager.desktop inode/direct ...

  3. golang-切片

    切片练习 package main import "fmt" /*func main() { arr := [10]int {1, 2, 3, 4, 5, 6, 7, 8, 9, ...

  4. ShellExecute打开文件,打开文件夹的用法

    转自https://www.cnblogs.com/nxopen2018/p/11070031.html //方法1 //转换 //char msg[256]; //sprintf_s(msg, &q ...

  5. docker理论 Cgroup namespace 各种隔离

    耦合 是指两个或两个以上的体系或者两种运动形式间通过相互作用而批次影响以至联合起来的现象. Nginx与apache 在同一台服务器运行都占用80端口,起冲突这是我们修改其中一个端口为8080 半解耦 ...

  6. Fluent当中的通配符【翻译】

    本文翻译自fluent帮助手册 可以在TUI当中使用通配符指定特定区域的名称,一些例子如下: 通配符*等同于"所有区域"例如: -/display/boundary-grid * ...

  7. vue+vue-resource设置请求头(带上token)

    前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...

  8. Python2和Python3共存问题

    前提条件:先准备一个新电脑 1.下载Python2和Python3的安装包,直接官网下载:https://www.python.org/download 2.配置环境变量,可以手动配置,也可以安装的时 ...

  9. css中的浮动与定位

    传送门:https://www.cnblogs.com/junwuyao/p/7435257.html

  10. Java中JVM内存结构

    Java中JVM内存结构 线程共享区 方法区: 又名静态成员区域,包含整个程序的 class.static 成员等,类本身的字节码是静态的:它会被所有的线程共享和是全区级别的: 属于共享内存区域,存储 ...