本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/deepin_wine_run_in_not_gnome_desktop_environment

i3wm, kde, awesome等桌面管理器或桌面环境里运行基于deepin-wine的qq和tim时,会出现下面的错误

X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 20 (X_GetProperty)

在gnome、mate、cinnamon三个桌面上运行较好,xfce4上运行有少许焦点上的bug,其它桌面环境和管理器下直接出上面的错误。

最近终于在aur上看到是因为deepin-wine依赖了gnome-setttings-daemon。(xsettings的一个后台进程,cinnamon和mate的xsettings进程也能用)

解决方案

1. 安装gnome-settings-daemon (arch 系)

sudo pacman -S gnome-settings-daemon

ubuntu 下的包和运行的程序名略不一样,参考:

https://github.com/wszqkzqk/deepin-wine-ubuntu/issues/12#issuecomment-443656358

2. 在tim启动脚本中加入启动

/opt/deepinwine/apps/Deepin-TIM/run.sh 的文件前添加下面的行:

/usr/lib/gsd-setttings &

注意

影响主题

在使用xsettings之后,主题等需要与对应的xsettings设置相对应。如使用gnome-settings-daemon时,需要在gnome的设置里更改主题。使用lxappearance修改主题只会更改~/.gtkrc-2.0等文件,不会生效。

csd-xsettings 的影响

csd-xsettings 主要影响两个地方:1. 启动过程; 2. 在tim内调用外部程序打开链接的过程(如打开网页、打开本地目录)。

可以考虑启动后关闭对tim,可以避免影响系统主题一类的问题,但无法调用外部程序。加上运行后5s关闭的参数即可:

/usr/lib/cinnamon-settings-daemon/csd-xsettings --exit-time 5 &

附:使用cinnamon的xsettings的设置

主题的问题略坑,懒得去试gnome上的主题设置需要哪些包,安装整个gnome的包需要800多M,直接安装了cinnamon的基础包(90M左右)。

cinnamon的xsettings默认也没用那个不太能忍的主题。

sudo pacman -S cinnamon

# awesome的autorun里加入下面程序使开机运行
/usr/lib/cinnamon-settings-daemon/csd-xsettings

在系统设置里可以下载和更改主题

小坑

tim和qq都会在点击好友图像时卡死,原因是因为pulseaudio进程,kill掉就行,会影响声音的调整。(千里之外的两个程序不知道为什么会卡一起)

貌似pulseaudio与deepin-wine八字不合,使用csd-xsettings时无法调声音,关了之后就行了….

最后

又从mate+awesomewm回到纯awesomewm,但运行了一个xsetting进程也不知道和直接mate+awesome比能节约多少内存。

在非gnome系桌面环境下运行deepin-wine tim的错误解决的更多相关文章

  1. 在windows环境下运行compass文件出现的错误提示解决方案

    在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...

  2. Mac环境下执行npm install报权限错误解决办法

    1. 一般情况 sudo npm install 注:这相当于windows系统中的 以管理员身份执行,加上sudo后会要求你输入苹果账号密码,而且在输入的时候是没有字符提示的,密码输入完直接按回车就 ...

  3. 解决KDE桌面环境下Eclipse崩溃的问题--让Eclipse使用特定的GTK2主题运行

    最近在Kubuntu14.04上安装Eclipse,由于Ubuntu软件中心中的版本太老(3.8),而且会自动安装OpenJDK,于是到官网下载最新的4.4版.(Luna,代号很有亲切感有木有,女神万 ...

  4. Linux下sh文件运行及桌面环境双击运行sh文件

    sh文件运行: 1.修改为可执行权限: chmod u+x hello.sh 2.运行 ./hello.sh 3.不使用可执行权限修改,用sh直接运行 sh ./hello.sh 桌面环境双击运行sh ...

  5. 如何在Linux桌面环境下自动启动程序?

    大多数Linux桌面环境有各自的图形用户界面(GUI),让用户可以配置针对特定用户的自动启动程序或服务.本文将介绍如何在各种Linux桌面环境下,自动启动某个程序的方法. AD:WOT2014:用户标 ...

  6. debian图形界面安装安装GNOME中文桌面环境_刀光剑影_新浪博客 - Google Chrome

    debian图形界面安装安装GNOME中文桌面环境 (2012-06-12 16:47:41) 转载▼ 标签:  杂谈 分类: linux 安装GNOME中文桌面环境 安装基本的X系统 # apt-g ...

  7. 11 个使用 GNOME 3 桌面环境的理由

    11 个使用 GNOME 3 桌面环境的理由 作者: David Both 译者: LCTT geekpi | 2017-08-22 11:43   评论: 27 GNOME 3 桌面的设计目的是简单 ...

  8. Sublime Text3配置在可交互环境下运行python快捷键

    安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...

  9. linux 环境下运行STS时 出现must be available in order to run STS

    linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...

随机推荐

  1. [Python学习笔记-007] 使用PyEnchant检查英文单词

    最近在教儿子做自然拼读,跟他玩了一个单词游戏,就是利用简单的枚举找出适合小朋友学习的两个字母的单词.人工找寻难免有疏漏之处,这里使用PyEnchant给出一个简单的脚本. 01 - foo.py #! ...

  2. centos7.x下环境搭建(四)—redis安装

    redis介绍 redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串.列表 ...

  3. 使用Ueditor上传图片到图片服务器(一)

    网站的文章,通过运营平台来发布文章(图文消息),上传图片等.百度Ueditor比较成熟就采用了该技术,另外上传的图片是网站系统以及运营平台系统共享的,所以考虑搭建独立的图片服务器,以后也可以提供给公司 ...

  4. 制作一个SSRS的ORACLE数据库报表,使用了时间类型的参数。

    需求:我们这个报表是以月为单位,呈现的数据为查询为当前月的第一天到最后一天.条件类似于:time_day > 20140601 and  time_day < 20140630 因为是让用 ...

  5. 2019 vs 如何升级到.net core 3.0 版本

    写在前面 看到微软的官网都已经更新.NET CORE 3.0的版本了.发现自己的还是.NET CORE 2.1X 的版本. 那应该如果升级到.NET CORE 3.0 的版本呢? 思考 [1]首先,我 ...

  6. C# 调用打印机打印文件

    C# 调用打印机打印文件,通常情况下,例如Word.Excel.PDF等可以使用一些对应的组件进行打印,另一个通用的方式是直接启用一个打印的进程进行打印.示例代码如下: using System.Di ...

  7. RFID相关知识总结(超高频UHF)

    RFID标签分类 1.LF(Low frequency) 低频 频段范围: 125 KHz-135KHz(ISO18000-2) 常见应用:该频段特点是具有良好的物体穿透能力.广泛应用于进出管理.门禁 ...

  8. Laravel是怎样防止你的定时任务重复执行的

    基本介绍 有时候一个定时任务执行需要的时间可能会比我们想象的要长,这就会引起一个问题——当前任务还没有执行完毕的时候另一个相同的任务也会执行,从而导致任务重复.例如想象一下我们执行每分钟生成一次报告的 ...

  9. vue多个路由使用同一个页面,通过name判断参数,渲染页面数据

    项目中,发现有多个页面的数据内容相同,只是请求数据的参数不同,就可以使用同一个组件来渲染 这里的客户列表 / 我负责的 / 我参与的 都使用同一个组件,不同点在请求数据的参数 可以看到,通过钩子函数, ...

  10. DML(数据库操作语言)(六)

    一.INSERT插入语句 语法: INTERT INTO 表名(列名1,列名2, ...) VALUES(列值1, 列值2, ...);# 在表名后给出要插入的列名,其他没有指定的列等同与插入null ...