We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
使用 Hyper-V 去安装 GNU/Linux 发行版, 启用增强会话最令人头大. 不清楚是不是 Microsoft 有意为之让大家用 WSL 2. 但总归, 这并不容易.
本教程将教您如何为 Hyper-V 中的 Arch Linux 虚拟机启用增强会话.
Important
请确保您的 Arch Linux 虚拟机是第二代虚拟机, 同时使用 pipewire 作声音服务. 并且在 Hyper-V 设置中允许使用增强会话.
然后, 在主机 Windows OS 下以管理员权限打开 PowerShell, 执行 (<VM>改成 Arch Linux 虚拟机的名字, 最好加上英文半角双引号):
<VM>
Set-VM -VMName <VM> -EnhancedSessionTransportType HvSocket
详见这篇教程的第 3 部分和另一篇教程.
执行以下命令:
sudo pacman -S hyperv for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
如果没有安装 git, 请先执行以下命令:
sudo pacman -S git base-devel
git clone https://github.com/microsoft/linux-vm-tools.git git clone https://aur.archlinux.org/xrdp-devel-git.git
首先切换到文件夹xrdp-devel-git, 在文件PKGBUILD中的build()部分中, 添加以下参数到构建选项中:
xrdp-devel-git
PKGBUILD
build()
--enable-vsock
即整个build()变为:
build() { cd $pkgname ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --sbindir=/usr/bin \ --libexecdir=/usr/lib \ --with-systemdsystemdunitdir=/usr/lib/systemd/system \ --enable-jpeg \ --enable-tjpeg \ --enable-fuse \ --enable-opus \ --enable-rfxcodec \ --enable-mp3lame \ --enable-pixman \ --enable-vsock # Fight unused direct deps sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool make V=0 }
就是# Fight unused direct deps上面的两行改了一下.
# Fight unused direct deps
编辑完成后, 执行命令:
makepkg --skipchecksum -si
然后执行以下命令:
paru -S xorg-xinit xorgxrdp-devel-git openssl-1.1 pipewire-module-xrdp
接着切换回当初克隆仓库时所在的目录, 切换到linux-vm-tools/arch, 执行:
linux-vm-tools/arch
sudo ./install-config.sh
Warning
不要使用linux-vm-tools/arch中的makepkg.sh脚本, 其编译选项并不正确.
makepkg.sh
在当前用户的家目录下创建.xinitrc.
.xinitrc
根据不同的桌面环境添加内容:
exec i3w
unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec dbus-launch gnome-shell --x11
export DESKTOP_SESSION=plasma /usr/lib/plasma-dbus-run-session-if-needed startplasma-x11
unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec dbus-launch startxfce4
然后执行:
sudo systemctl enable xrdp.service sudo systemctl enable xrdp-sesman.service sudo xrdp-keygen xrdp /etc/xrdp/rsakeys.ini sudo pacman -Rcns $(pacman -Qtdq)
接着重启虚拟机.
重启后依次输入用户名, 用户密码登录账户, 然后在弹出窗口中再次输入账户密码即可.
Tip
实际上直接关闭弹出的窗口也是可以正常使用的, 不过最好还是输入以下账户密码.
至此, 一切大功告成!
这一部分和本篇教程没什么关系, 了解下就可以.
如果是以 Systemd 启动 SDDM, 可以打开/usr/lib/systemd/system/sddm.service, 在[Service]下添加:
/usr/lib/systemd/system/sddm.service
[Service]
Environment=LANG=zh_CN.UTF-8
如果不是 Systemd 启动, 只能改/etc/locale.conf了 (不建议改, 虚拟终端会乱码).
/etc/locale.conf
The text was updated successfully, but these errors were encountered:
No branches or pull requests
使用 Hyper-V 去安装 GNU/Linux 发行版, 启用增强会话最令人头大. 不清楚是不是 Microsoft 有意为之让大家用 WSL 2. 但总归, 这并不容易.
本教程将教您如何为 Hyper-V 中的 Arch Linux 虚拟机启用增强会话.
0 准备工作
Important
请确保您的 Arch Linux 虚拟机是第二代虚拟机, 同时使用 pipewire 作声音服务. 并且在 Hyper-V 设置中允许使用增强会话.
然后, 在主机 Windows OS 下以管理员权限打开 PowerShell, 执行 (
<VM>
改成 Arch Linux 虚拟机的名字, 最好加上英文半角双引号):1 配置包管理器
详见这篇教程的第 3 部分和另一篇教程.
2 安装集成服务
执行以下命令:
3 安装软件包
如果没有安装 git, 请先执行以下命令:
执行以下命令:
首先切换到文件夹
xrdp-devel-git
, 在文件PKGBUILD
中的build()
部分中, 添加以下参数到构建选项中:即整个
build()
变为:就是
# Fight unused direct deps
上面的两行改了一下.编辑完成后, 执行命令:
然后执行以下命令:
接着切换回当初克隆仓库时所在的目录, 切换到
linux-vm-tools/arch
, 执行:Warning
不要使用
linux-vm-tools/arch
中的makepkg.sh
脚本, 其编译选项并不正确.4 解决 XRDP 反复连接问题
在当前用户的家目录下创建
.xinitrc
.根据不同的桌面环境添加内容:
然后执行:
接着重启虚拟机.
重启后依次输入用户名, 用户密码登录账户, 然后在弹出窗口中再次输入账户密码即可.
Tip
实际上直接关闭弹出的窗口也是可以正常使用的, 不过最好还是输入以下账户密码.
至此, 一切大功告成!
DLC 汉化 SDDM
这一部分和本篇教程没什么关系, 了解下就可以.
如果是以 Systemd 启动 SDDM, 可以打开
/usr/lib/systemd/system/sddm.service
, 在[Service]
下添加:如果不是 Systemd 启动, 只能改
/etc/locale.conf
了 (不建议改, 虚拟终端会乱码).The text was updated successfully, but these errors were encountered: