OBS Replay Buffer, Streaming, or Recording blocks the system shutdown by sending a "Busy" signal to the Session Manager, resulting in the error: "Logout canceled by 'obs'".
Hide the Session Manager from OBS so it can't veto the shutdown process.
- Copy the desktop file:
cp /usr/share/applications/com.obsproject.Studio.desktop ~/.local/share/applications/ - Edit the
Execline: Open the file and prependenv SESSION_MANAGER=""to the command.
# Before:
Exec=obs --startreplaybuffer
# After:
Exec=env SESSION_MANAGER="" obs --startreplaybuffer
- Refresh:
update-desktop-database ~/.local/share/applications/
Emptying SESSION_MANAGER disconnects OBS from the logout protocol. The OS will now terminate OBS like a standard process without waiting for permission.