zoukankan      html  css  js  c++  java
  • Deepin Linux下为Wine创建文件关联

    在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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    USASO Greedy Gift Givers
    Mat 类型用法
    OpenCV错误:Unhandled exception at 0x0133bc63 ....0xC0000005: Access violation reading location 0x00000004.
    C++ seekp 函数文件流跳转功能产生数据覆盖问题解决
    C++中文件名称必须是C风格的char*格式
    char*, char[] ,CString, string的转换
    Visual Stdio 2008 最大内存分配块大小问题: 使用new 分配连续723M内存 出错 std::bad_alloc at memory location 0x0013e0b8
    string类型转化为char*错误: error C2440: '=' : cannot convert from 'const char *' to 'char *'
    Mat 和 IplImage、CvMat格式的互相转换
    指针数组和数组指针
  • 原文地址:https://www.cnblogs.com/silentdoer/p/11385311.html
Copyright © 2011-2022 走看看