在 /etc/udev/rules.d 下新建一个名为 yuzu.rules 的文件

sudo nano /etc/udev/rules.d/yuzu.rules

写入以下内容,并给该文件可执行权限

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"

#给予可执行权限 重启

sudo chmod +x /etc/udev/rules.d/yuzu.rules
systemctl reboot

发现还是不行 给了su权限运行才OK
为了给yuzu-mainline-20240304-537296095.AppImage这个AppImage文件足够的权限以访问Joy-Con手柄设备,你可以按照以下步骤操作:

  1. 确认设备节点
    首先,确认Joy-Con手柄的设备节点。通常这些节点位于/dev/input/目录下,例如/dev/input/eventX。你可以使用以下命令来查找:

    ls -l /dev/input/

    我这里手柄设备是左(event18 event19) 右(event20 event21 )

  2. 创建udev规则
    创建一个udev规则文件,以便允许yuzu-mainline-20240304-537296095.AppImage访问Joy-Con手柄设备。创建一个新文件/etc/udev/rules.d/99-yuzu-joycon.rules:

    sudo nano /etc/udev/rules.d/99-yuzu-joycon.rules

    内容如下event18需要修改自己的

    KERNEL=="event18", GROUP="input", MODE="0660"
    KERNEL=="event19", GROUP="input", MODE="0660"
    KERNEL=="event20", GROUP="input", MODE="0660"
    KERNEL=="event21", GROUP="input", MODE="0660"

    也可以把这些设备全加上 用下面命令

    KERNEL=="event[1-9][0-9]", GROUP="input", MODE="0660"

    这将把所有名称为“event1-9”的输入设备添加到input用户组,并给予适当的权限。如果你希望使用其他用户组,可以将其更改为相应的组名,例如plugdev。

  3. 将自己加入相应的用户组
    将你自己加入到input用户组:

    sudo usermod -a -G input $USER

    然后注销并重新登录,使用户组的更改生效。

  4. 重启udev服务
    为了让新的udev规则生效,重启udev服务

    sudo systemctl restart udev
  5. 使用setcap(可选)
    如果上述步骤仍无法解决问题,你可以考虑使用setcap命令来赋予AppImage更多的权限。但是请注意,这样做可能会带来安全风险,因此需要谨慎操作。例如:

    sudo setcap 'cap_net_raw,cap_sys_rawio+eip' /switch/yuzu-mainline-20240304-537296095.AppImage

    这将赋予AppImage文件cap_net_raw和cap_sys_rawio的能力,使其能够在非root用户下访问受限设备。然而,这种方法应被视为最后的手段,并且应该充分理解其潜在的安全影响。

注意事项
修改系统权限或使用setcap等命令可能会带来安全风险,请确保理解这些操作的后果。
如果你在进行上述操作时遇到困难或不确定如何继续,请参考yuzu的官方文档或在相关社区寻求帮助。
完成上述步骤后,如果问题仍然存在,可能需要进一步排查其他潜在的原因,如yuzu本身的配置问题或其他系统级的设置问题。

发表评论