Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KDE环境完全无法使用wine-tim #12

Closed
lixiang810 opened this issue Jul 30, 2018 · 28 comments

Comments

Projects
None yet
@lixiang810
Copy link

commented Jul 30, 2018

与lulinux上面的描述一致。
目前已测试桌面环境(均为manjaro、gdm):
GNOME√
MATE√
XFCE√
LXDE√
i3(dmenu无法找到)
KDE×

@lulinux

This comment has been minimized.

Copy link
Collaborator

commented Jul 30, 2018

是的。KDE的问题。

@jamy3531

This comment has been minimized.

Copy link

commented Jul 31, 2018

我的Linux Mint 18.2 KDE也用不了,之前我也提过issue#8,不知道你的是不是这个问题

@Peytonlan

This comment has been minimized.

Copy link

commented Dec 3, 2018

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x0
Serial number of failed request: 10
Current serial number in output stream: 10

这个问题其实和 KDE 无关, 应该是 deepin 在打包 deepin-wine 的过程中有意或者无意加入了 GNOME 依赖

执行 /usr/lib/gnome-settings-daemon/gsd-xsettings & 即可
如果 GNOME 的版本较低(比如Debian 9), 没有单独的 gsd-xsettings 可执行文件, 则执行 gnome-settings-daemon &

测试环境:
Openbox@Xspice@15.8@Deepin@LXD@Snappy@9@Debian@LXD@Snappy@28@Fedora
KDE@Xspice@15.8@Deepin@LXD@Snappy@9@Debian@LXD@Snappy@28@Fedora

deepin-wine 谁维护的最好? 当然是 deepin
所以把 deepin 丢到LXD里运行就好, 移植 deepin 的包到其它发行版累, 而且需要持续和 deepin 保持更新, 也累...

@Peytonlan

This comment has been minimized.

Copy link

commented Dec 4, 2018

QQ开启视频的方法

测试环境:
Openbox@Xspice@18.04@Ubuntu@LXD@Snappy@28@Fedora@LXD@Snappy@28@Fedora

从 deepin 源取 deepin-desktop-schemas 包安装
从 deepin 源取 startdde 包, 取出其中的 startdde 可执行文件即可, ldd startdde 查找缺失运行库, 补齐依赖运行库
其它文件安装参照通用方法

export DESKTOP_SESSION=deepin
/usr/local/bin/startdde &
sleep 3
/opt/deepinwine/apps/Deepin-TIM/run.sh

执行了 startdde, 就不必执行 gsd-xsettings, 不会再报 BadWindow 错误

还是直接把 deepin 丢到 LXD 里要省事些

@wszqkzqk

This comment has been minimized.

Copy link
Owner

commented Feb 2, 2019

已适配KDE neon
快更新吧

@wszqkzqk wszqkzqk closed this Feb 4, 2019

@xuthus5

This comment has been minimized.

Copy link

commented Feb 14, 2019

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x0
Serial number of failed request: 10
Current serial number in output stream: 10

这个问题其实和 KDE 无关, 应该是 deepin 在打包 deepin-wine 的过程中有意或者无意加入了 GNOME 依赖

执行 /usr/lib/gnome-settings-daemon/gsd-xsettings & 即可
如果 GNOME 的版本较低(比如Debian 9), 没有单独的 gsd-xsettings 可执行文件, 则执行 gnome-settings-daemon &

测试环境:
Openbox@Xspice@15.8@Deepin@LXD@Snappy@9@Debian@LXD@Snappy@28@Fedora
KDE@Xspice@15.8@Deepin@LXD@Snappy@9@Debian@LXD@Snappy@28@Fedora

deepin-wine 谁维护的最好? 当然是 deepin
所以把 deepin 丢到LXD里运行就好, 移植 deepin 的包到其它发行版累, 而且需要持续和 deepin 保持更新, 也累...

我的环境是Fedora-KDE-29,我并没有找到/usr/lib/gnome-settings-daemon/gsd-xsettings 以及gnome-settings-daemon,请问你是怎么操作的

@wszqkzqk

This comment has been minimized.

Copy link
Owner

commented Feb 14, 2019

X请求失败的错误:BadWindow(窗口参数无效)
失败请求的主要操作码:20(X_GetProperty)
失败请求中的资源ID:0x0
失败请求的
序列号:10输出流中的当前序列号:10
这个问题其实和KDE无关,应该是deepin在打包deepin-wine的过程中有意或者无意加入了GNOME依赖
执行/ usr / lib / gnome-settings-daemon / gsd-xsettings&即可
如果GNOME的版本较低(比如Debian 9),没有单独的gsd-xsettings可执行文件,则执行gnome-settings-daemon&
测试环境:
Openbox @ Xspice @ 15.8 @ Deepin @ LXD @ Snappy @ 9 @ Debian @ LXD @ Snappy @ 28 @ Fedora
KDE @ Xspice @ 15.8 @ Deepin @ LXD @ Snappy @ 9 @ Debian @ LXD @ Snappy @ 28 @ Fedora
deepin-wine谁维护的最好?当然是deepin
所以把deepin丢到LXD里运行就好,移植deepin的包到其他发行版累,而且需要持续和deepin保持更新,也累...

我的环境是Fedora-KDE-29,我并没有找到/ usr / lib / gnome-settings-daemon / gsd-xsettings以及gnome-settings-daemon,请问你是怎么操作的

需要另行安装软件

@Peytonlan

This comment has been minimized.

Copy link

commented Feb 14, 2019

@xuthus5

查找 gnome-settings-daemon 软件包
dnf search gnome-settings-daemon
依据 gsd-xsettings 文件查软件包
dnf provides */gsd-xsettings

但是你似乎没明白 KDE@Xspice@15.8@Deepin@LXD@Snappy@9@Debian@LXD@Snappy@28@Fedora 的意思
28@Fedora: 主机系统 Fedora 28
Snappy@28@Fedora: Fedora 28 上安装了 snapd
LXD@Snappy: 通过 snapd 安装了 LXD
9@Debian@LXD: 使用 LXD 运行 Debian 9
15.8@Deepin@LXD: 使用 LXD 运行 Deepin 15.8
Xspice@15.8@Deepin: Xspice 运行于 Deepin 15.8
KDE@Xspice: KDE 运行于 Xspice
我只不过以这种方式描述了当时的测试环境, 实际使用环境并不需要这么复杂

所以 deepin-wine 并不是直接运行在 Fedora 28 上, 而是 Deepin 15.8
/usr/lib/gnome-settings-daemon/gsd-xsettings 是 gnome-settings-daemon 的 gsd-xsettings 在 Deepin 15.8 上的位置

实际使用时, 可通过 LXD 的 GPU passthru 方式, 让运行于 Deepin 上的 deepin-wine 相关应用直接显示在 Fedora 的任意桌面上

@OvenTX

This comment has been minimized.

Copy link

commented Feb 28, 2019

直接装个gnome桌面也行

@zhanghanduo

This comment has been minimized.

Copy link

commented May 3, 2019

啊 我在用i3,无法打开wechat Error of failed request: BadWindow (invalid Window parameter) ,难道一定要打开xfce-panel或者gnome吗?哭

@OvenTX

This comment has been minimized.

Copy link

commented May 3, 2019

@colmk

This comment has been minimized.

Copy link

commented May 6, 2019

我的用的是manjaro+KDE,官方库里边放着 gnome-settings-daemon-3.0,gsd-xsettings的路径跟上边的不一样,是/usr/llib/gsd-xsettings。
启动后可以正常启动wine-tim

@Peytonlan

This comment has been minimized.

Copy link

commented May 7, 2019

@zhanghanduo
别太伤心...
gnome-settings-daemon 是很基础的软件包, 对其它软件包的依赖很少, 单独安装就好, 不会连带上整个 GNOME 环境
gsd-xsettings 运行时, 系统消耗也很低, 基本可以忽略

@Azureki

This comment has been minimized.

Copy link

commented May 10, 2019

请问各位,开了gsd-xsettings其他软件的分辨率都变了(经czyczk的提醒,我发现我也是字体dpi被改了),并且关闭gsd-xsettings之后也没有恢复,如何解决?

@czyczk

This comment has been minimized.

Copy link

commented May 11, 2019

请问各位,开了gsd-xsettings,其他软件的分辨率都变了,并且关闭gsd-xsettings之后也没有恢复,如何解决?

我也是,图形的缩放没受影响,光标大小和文字 DPI 受影响,此外 GTK 部分的主题也被改了。
我安装了 dconf-editor,修改 org/gnome/desktop/interface 下的 text-scaling-factor 解决了文字 DPI 的问题;光标大小还没能找到 resolution dependent 的解决方案,同问。
主题的话在 KDE 设置中的 Application Style -> GNOME/GTK Application Style 下重新设置成 Breath/Breeze 就好,这个没什么后遗症。

@KB5201314

This comment has been minimized.

Copy link

commented May 11, 2019

我的用的是manjaro+KDE,官方库里边放着 gnome-settings-daemon-3.0,gsd-xsettings的路径跟上边的不一样,是/usr/llib/gsd-xsettings。
启动后可以正常启动wine-tim

输入中文的问题解决 ?
已解决,是误删了某些包的语言包文件导致,pacman -Qq全部重装后解决

@Peytonlan

This comment has been minimized.

Copy link

commented May 12, 2019

@Azureki @czyczk
按照 #90 (comment) 操作, 能否解决你们的问题
如不行, 麻烦描述下详细的系统环境和操作步骤

@KB5201314

This comment has been minimized.

Copy link

commented May 30, 2019

QQ开启视频的方法

测试环境:
Openbox@Xspice@18.04@Ubuntu@LXD@Snappy@28@Fedora@LXD@Snappy@28@Fedora

从 deepin 源取 deepin-desktop-schemas 包安装
从 deepin 源取 startdde 包, 取出其中的 startdde 可执行文件即可, ldd startdde 查找缺失运行库, 补齐依赖运行库
其它文件安装参照通用方法

export DESKTOP_SESSION=deepin
/usr/local/bin/startdde &
sleep 3
/opt/deepinwine/apps/Deepin-TIM/run.sh

执行了 startdde, 就不必执行 gsd-xsettings, 不会再报 BadWindow 错误

还是直接把 deepin 丢到 LXD 里要省事些

你好请问怎么把deepin扔到lxd里面运行呢?没有找到deepin的lxd镜像,谢谢啦

@Peytonlan

This comment has been minimized.

Copy link

commented May 31, 2019

@KB5201314
用 LXD 随意安装个 Linux 发行版, 比如 Alpine Linux, 删除掉新建容器的 rootfs
使用 QEMU 安装 Deepin 虚拟机, 再用 qemu-nbd 挂载 Deepin 映像文件, 拷贝 Deepin 的 rootfs 到新的容器
启动新的容器, 卸载所有和 Flatpak 相关的软件包 (Deepin 下的 Flatpak, 运行于 LXD 时, 会导致系统无法更新)

@KB5201314

This comment has been minimized.

Copy link

commented May 31, 2019

随便装个发行版拷过去太秀了👍谢谢我一会就试试,一开始卡在做image那里了

@Blackcorns

This comment has been minimized.

Copy link

commented Jun 2, 2019

请问各位,开了gsd-xsettings,其他软件的分辨率都变了,并且关闭gsd-xsettings之后也没有恢复,如何解决?

我也是,图形的缩放没受影响,光标大小和文字 DPI 受影响,此外 GTK 部分的主题也被改了。
我安装了 dconf-editor,修改 org/gnome/desktop/interface 下的 text-scaling-factor 解决了文字 DPI 的问题;光标大小还没能找到 resolution dependent 的解决方案,同问。
主题的话在 KDE 设置中的 Application Style -> GNOME/GTK Application Style 下重新设置成 Breath/Breeze 就好,这个没什么后遗症。

好像这么干只有Gnome程序恢复了dpi,Kde程序并没有

@KB5201314

This comment has been minimized.

Copy link

commented Jun 2, 2019

@Blackcorns 我现在dpi一度陷入混乱,kde缩放和字体dpi都配了,勉强能用

@KB5201314

This comment has been minimized.

Copy link

commented Jun 2, 2019

@KB5201314
用 LXD 随意安装个 Linux 发行版, 比如 Alpine Linux, 删除掉新建容器的 rootfs
使用 QEMU 安装 Deepin 虚拟机, 再用 qemu-nbd 挂载 Deepin 映像文件, 拷贝 Deepin 的 rootfs 到新的容器
启动新的容器, 卸载所有和 Flatpak 相关的软件包 (Deepin 下的 Flatpak, 运行于 LXD 时, 会导致系统无法更新)

对了你是处理gui的呢?我找到这篇文章
https://blog.simos.info/how-to-easily-run-graphics-accelerated-gui-apps-in-lxd-containers-on-your-ubuntu-desktop/
看起来要装cloud-init,现在卡在cloud-init配置这了

@KB5201314

This comment has been minimized.

Copy link

commented Jun 3, 2019

@KB5201314
用 LXD 随意安装个 Linux 发行版, 比如 Alpine Linux, 删除掉新建容器的 rootfs
使用 QEMU 安装 Deepin 虚拟机, 再用 qemu-nbd 挂载 Deepin 映像文件, 拷贝 Deepin 的 rootfs 到新的容器
启动新的容器, 卸载所有和 Flatpak 相关的软件包 (Deepin 下的 Flatpak, 运行于 LXD 时, 会导致系统无法更新)

感谢你的帮助,我现在在lxd中运行了qq,用ssh做的gui forward,现在容器里QQcpu占用比较大(这正常吗?),输入法好像GG了,不过视频没有gg

@KB5201314

This comment has been minimized.

Copy link

commented Jun 4, 2019

@KB5201314
用 LXD 随意安装个 Linux 发行版, 比如 Alpine Linux, 删除掉新建容器的 rootfs
使用 QEMU 安装 Deepin 虚拟机, 再用 qemu-nbd 挂载 Deepin 映像文件, 拷贝 Deepin 的 rootfs 到新的容器
启动新的容器, 卸载所有和 Flatpak 相关的软件包 (Deepin 下的 Flatpak, 运行于 LXD 时, 会导致系统无法更新)

还是有一点怪异,不知道是不是因为我的是笔记本内置摄像头,能找到这个设备但是预览画面没有
图片,其次容器里运行cheese同样也找不到设备,但是运行qv4l2或webcam都可以拿到视频数据,看了一下QQ相关进程的map_files里面没有和v4l2相关的内容,请问你遇到这样的问题了吗?

@Peytonlan

This comment has been minimized.

Copy link

commented Jun 5, 2019

@Blackcorns @KB5201314
关于 dpi 的相关问题, 按照 #90 (comment) 操作
如果不行, 我需要你们更详细的表述, 不然没法判断

@Peytonlan

This comment has been minimized.

Copy link

commented Jun 5, 2019

@KB5201314
LXD 的 GPU passthrough 不需要 cloud-init

参考

raw.idmap: both 2000 1000
devices:
  X0:
    path: /mnt/X11-unix
    source: /tmp/.X11-unix
    type: disk
  Xauthority:
    path: /home/container_user/.Xauthority
    source: /home/host_user/.Xauthority
    type: disk
  gpu:
    type: gpu
  video0:
    path: /dev/video0
    source: /dev/video4
    type: disk

如果是非特权容器, 需要添加 idmap, 比如:
raw.idmap: both 2000 1000
2000 为 host 上的用户 id, 1000 为 container 内的用户 id. 当然, 实际的 id 值请根据自己的系统作调整
如果是特权容器, 不需要添加 idmap, 但是 host 和 container 的用户 id 要保持一致

如果容器内的 /tmp 未使用 tmpfs, X0 的 path 为 path: /tmp/.X11-unix
如果容器内的 /tmp 使用了 tmpfs, X0 的 path 为 path: /mnt/X11-unix, systemd 添加 /etc/systemd/system/tmp-.X11-unix.service

[Unit]
Description=Move /mnt/X11-unix to /tmp/.X11-unix
After=tmp.mount

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/mount -M /mnt/X11-unix /tmp/.X11-unix

[Install]
WantedBy=local-fs.target

容器内的声音可用 host 的 PulseAudio 共享

请先解决以上问题, 如果再出问题再反馈

@KB5201314

This comment has been minimized.

Copy link

commented Jun 5, 2019

@KB5201314
LXD 的 GPU passthrough 不需要 cloud-init

参考

raw.idmap: both 2000 1000
devices:
  X0:
    path: /mnt/X11-unix
    source: /tmp/.X11-unix
    type: disk
  Xauthority:
    path: /home/container_user/.Xauthority
    source: /home/host_user/.Xauthority
    type: disk
  gpu:
    type: gpu
  video0:
    path: /dev/video0
    source: /dev/video4
    type: disk

如果是非特权容器, 需要添加 idmap, 比如:
raw.idmap: both 2000 1000
2000 为 host 上的用户 id, 1000 为 container 内的用户 id. 当然, 实际的 id 值请根据自己的系统作调整
如果是特权容器, 不需要添加 idmap, 但是 host 和 container 的用户 id 要保持一致

如果容器内的 /tmp 未使用 tmpfs, X0 的 path 为 path: /tmp/.X11-unix
如果容器内的 /tmp 使用了 tmpfs, X0 的 path 为 path: /mnt/X11-unix, systemd 添加 /etc/systemd/system/tmp-.X11-unix.service

[Unit]
Description=Move /mnt/X11-unix to /tmp/.X11-unix
After=tmp.mount

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/mount -M /mnt/X11-unix /tmp/.X11-unix

[Install]
WantedBy=local-fs.target

容器内的声音可用 host 的 PulseAudio 共享

请先解决以上问题, 如果再出问题再反馈

谢谢你的回复。
非常感谢你的帮助,我原先尝试用ssh进行X11的Forward,但是性能影响很大(全屏运行程序的时候明显看到刷屏),后来换成共享unix socket (/tmp/.X11-unix)性能改善了很多。
声音的话,原先也是通过网桥转发到主机PulseAudio,后来直接用了类似前面图像的方式,也共享unix socket。
😃非常感谢,我原先没有理解cloud-init的用途,之后花了时间去看了看,发现它只是用来管理一堆容器的一种方法,只是其中的配置脚本里面有些配置有用。
现在的话,我能够在容器正常播放图像和声音,录音也没有问题了,但是视频还是有点问题,我参考了webcam setup arch wiki,测试过驱动是uvcvideo,绝大多数的视频软件,包括qv4l、webcam、xawtv、都能正常开启摄像头,唯独cheese打开什么都没有,QQ能够检测到摄像头名称(上一个回复的图里面有)但是打不开。v4l和v4l2驱动都装了(不知道为什么deepin源里面的包都很老而且依赖冲突一堆一堆的来)。然后按照arch wiki里面的Cheese那一段,用LD_PRELOAD的方法加载v4l2convert.so也没有什么效果,同样的操作对QQ也尝试过了。
我现在已经基本上准备放弃了,现在至少别人打电话过来不会崩掉了还不看不到😂
运行startdde的话好像会改变主机的一些设置,所以没有在容器里面运行startdde,可能是因为我配置的是特权容器的原因吧。

@qingyu95 qingyu95 referenced this issue Jun 10, 2019

Closed

KDE error #12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.