Editing read only config file
I'm trying to edit a config file for USConnect to fix a bug in assigning keyboard shortcuts.I found a workaround online but it involves changing one line in /usr/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/preferences/keybindings.js
Is there any way to save the one line edit in this file??
5 Replies
Bump?
You can't save it because bazzite base is read only. Can you override the system extension with a user supplied one?
ya the whole /usr section is read only, which is quite a bother in many ways.
Apparently its possible with an override script which deploys changes during reboot, before /usr is RO mounted again.
Here some llm generated instructions, no guarantees:
Identify the File to Override: Determine the exact path of the file you want to modify in /usr. Let's assume it's /usr/bin/my_program.
Create the Override Directory: Create the necessary directory structure in /etc to mirror the path of the file you're overriding. Use sudo because you'll need root privileges:
sudo mkdir -p /etc/usr/bin
Copy the Original File (Important!): Copy the original file from /usr to your new override location. This ensures you have a starting point that's identical to the original:
sudo cp /usr/bin/my_program /etc/usr/bin/my_program
Edit the Override File: Now, edit the file in /etc. This is where you make your changes:
sudo nano /etc/usr/bin/my_program
Make the necessary modifications to the script. Save and exit the editor.
Make the Override File Executable (If Necessary): If the original file was executable, make sure the override file is also executable:
sudo chmod +x /etc/usr/bin/my_program
Apply the Changes (Important!): After making the changes, you must apply them. This is done by rebooting the system:
sudo systemctl reboot
I'm sorry to inform you that your LLM has hallucinated
afaik bazzite supports sysext and you can override /usr with a custom sysext but bazzite has no documentation for it 😮
This is a gnome extension, you can also just install it to your home directory
And that will override the system version