Skip to content

Conversation

@chambln
Copy link

@chambln chambln commented Nov 3, 2022

This way users can generate the files necessary for system-wide installation as a regular user, then install those files as root. This way you are only invoking root powers for cp(1) and you don't need to install and run xkalamine (and its dependencies) as root.

I wrote some instructions for this manual installation method in the README.rst.

It's not a great user experience, but right now it's the only way I can see to use the program to install keyboard layouts system-wide without giving all of xkalamine and its dependencies root capabilities. Maybe xkalamine could somehow elevate its permissions after generating the files and before writing the new files in place? Or maybe it could print out a big diff file that could be applied as root – something like this:

xkalamine generate layout.yml | sudo patch
# or ...
xkalamine generate layout.yml > layout.patch
less layout.patch  # inspect manually so you know what you're installing
sudo patch < layout.patch

Marking this as a draft PR because more work is needed for usability.

This is not an ideal user experience. But this allows you to generate
the files necessary for system-wide installation as a regular user,
then install those files as root.  This way you are only invoking root
powers for cp(1) and you don't need to install and run xkalamine (and
its dependencies) as root.
@fabi1cazenave
Copy link
Collaborator

Ohh sorry I missed your work. That’s exactly what I needed, thanks !

@fabi1cazenave fabi1cazenave force-pushed the master branch 4 times, most recently from 8250fa3 to 7383723 Compare December 17, 2023 21:18
@fabi1cazenave fabi1cazenave force-pushed the master branch 2 times, most recently from c779a9f to 159b831 Compare January 29, 2024 19:20
@fabi1cazenave fabi1cazenave force-pushed the main branch 2 times, most recently from 253a7bb to 94f5e26 Compare February 5, 2024 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants