win10子系统运行图形界面和声音

环境

1.win10 64位 ,unbuntu 22.04
2.镜像源国内清华源访问地址
3.wls版本 2

图形化界面

1.参考链接
在适用于 Linux 的 Windows 子系统上运行 Linux GUI 应用。
2.安装如下:
安装 GIMP

sudo apt install gimp -y

安装 X11 应用

sudo apt install x11-apps -y

3.在win10上安装VcXsrv
在这里插入图片描述在这里插入图片描述必须勾选这个不然会报错认证错误

在这里插入图片描述

4.在~/.bashrc最后面加入export DISPLAY=192.168.31.220:0.0
(其中192.168.31.220是win10的ip地址)

export  DISPLAY=192.168.31.220:0.0

然后source一下

source ~/.bashrc

运行xeyes看到弹框出现运行说明图形化界面成功了

xeyes

在这里插入图片描述

播放声音

子系统安装pulseaudio

1.参考链接
Setting Up WSL with Graphics and Audio

在 WSL 中使用 pulseaudio 播放声音
2.安装依赖

sudo apt-get install -y pkg-config intltool libtool libsndfile1-dev libjson-c-dev g++ gcc cmake make

3.下载源代码pulseaudio-7.0.tar.gz(这里我下载的是7.0)并解压缩源代码并将单行补丁应用于src/pulsecore/mutex-posix.c。找到下面的行

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

再后面添加

#undef HAVE_PTHREAD_PRIO_INHERIT

然后进行编译安装命令如下

CFLAGS="$CFLAGS -g -O0" ./configure     \
    --disable-bluez4                    \
    --disable-bluez5                    \
    --disable-rpath                     \
    --disable-asyncns                   \
    --disable-udev                      \
    --disable-systemd-daemon            \
    --without-caps                      \
    --enable-force-preopen

然后运行 make -j8 和 make install

sudo make -j8

在这里插入图片描述如果出现如上错误,就运行 make clean 和sudo ln -s /usr/include/locale.h /usr/include/xlocale.h 然后重新make

sudo make clean
sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
sudo make -j8

安装pulseaudio

sudo make install

运行paplay如果出现如下
在这里插入图片描述那么就使用查找一下这个链接文件在哪里,然后拷贝到lib64文件夹里面
在这里插入图片描述其中/home/pulseaudio-7.0/src/.libs/libpulse.so.0就是编译安装后产生的。将其拷贝到/lib64里面然后刷新链接库

 sudo ldconfig

win10安装pulseaudio

1.下载pulseaudio也可参考Setting Up WSL with Graphics and Audio
去下载
2.修改pulseaudio配置文件\etc\pulse\default.pa在里面加入

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
load-module module-native-protocol-tcp auth-ip-acl=172.19.115.147 auth-anonymous=1

其中172.19.115.147是子系统的ip地址
然后在 \etc\pulse\daemon.conf里面改exit-idle-time = -1
在cmd中去到 \bin 运行pulseaudio

.\pulseaudio.exe

测试新开一个cmd 然后去到 \bin运行

 .\paplay.exe -p --server=tcp:localhost C:\Windows\Media\ding.wav

运作正常的话,Windows 应该会播放「叮」的一声.

子系统配置连接win的pulseaudio并播放声音

1.修改~/.bashrc,在最后添加一行 export PULSE_SERVER=tcp:192.168.31.220,
192.168.31.220是win的地址。
2.运行测试

source ~/.bashrc
paplay -p /mnt/c/Windows/Media/ding.wav

运作正常的话,Windows 应该会播放「叮」的一声.

最后也可以安装ffmpeg播放一段视频测试。

以上都是基于子系统能够访问到win的ip,保证网络是通的。最好双向都是通的。
一般安装好后都是双向通的。如果不行就自己配置静态路由ip地址等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值