Here is the full process I used to get NoMachine working on Rocky Linux 9.3.
Download NoMachine
Install NoMachine via local RPM
sudo rpm -i nomachine_8.10.1_1_x86_64.rpm
Create firewall service entry
sudo cat << EOF > /etc/firewalld/services/nomachine.xml
nomachine
NoMachine
tcp” port=”4000″/>
EOF
Configure firewalld
sudo firewall-cmd –permanent –zone=trusted –add-service=nomachine
sudo firewall-cmd –permanent –zone=home –add-service=nomachine
sudo firewall-cmd –permanent –zone=internal –add-service=nomachine
sudo firewall-cmd –permanent –zone=work –add-service=nomachine
sudo firewall-cmd –reload
Change to console boot (disable GUI boot). This is so the NoMachine X server is used, which will properly resize the remote display as the client window is resized.
sudo systemctl set-default multi-user.target
Configure pulseaudio to work with PipeWire (https://kb.nomachine.com/AR07T01168)
sudo dnf install pulseaudio –allowerasing
sudo dnf install pulseaudio-utils
sudo /usr/NX/scripts/setup/nxnode –audiosetup
Configure audio (https://forum.nomachine.com/topic/centos-nomachine-server-no-sound)
sudo /usr/NX/bin/nxnode –audiosetup /etc/pulse
sudo /etc/NX/nxserver –restart
Reboot