this post was submitted on 02 Sep 2024
13 points (100.0% liked)

Pop!_OS (Linux)

5162 readers
2 users here now

Pop!_OS is an operating system developed by System76 for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.

Unleash your potential

Whether this is your first experience with Linux, or your latest adventure, all are welcome to discuss and ask questions about Pop!_OS and COSMIC. Keep the discussions friendly though, and remember to assume good intentions whenever you reply. We're all here because we have a shared love for Linux and open source software.

System76 Logo

Support us by buying System76 hardware for you or your company! Or by donating on the Pop!_OS website through the "Support Pop" button. Pop!_OS and COSMIC are fully funded by System76 hardware sales. All systems are assembled in the USA. With your support, we'll work to push the Linux desktop forward with COSMIC.

Links

Guides

Hardware

Recommended

Community Rules

Follow the Code of Conduct

All posts on pop_os must adhere to the Pop!_OS community Code of Conduct. https://github.com/pop-os/code-of-conduct

Be helpful

Posts to pop_os must be helpful. When responding to a user asking for help, do not provide tongue-in-cheek responses like "RTM" or links to LMGTFY. Linking to direct sources that answer the asker's question is fine, but it's advised to provide some explanation as to how you got to that source.

Critique should be constructive

We within the Pop!_OS community welcome helpful criticism or ideas on ways to improve. However, basic "It's bad" or other simple negative comments don't help anyone fix anything. When voicing a complaint about something, try to point out ways the complaint could be improved or worked around, so that we can make a better product for it.

This rule applies to both Pop!_OS and its projects as well as other products available from third-parties.

Don't post malicious "advice"

It can be funny to joke about malicious commands, however this is not the venue for it. Do not advise users to run commands which will lock up their systems, steal their data, or erase their drive. Examples of this include (but are not limited to) fork bombs, rm, etc.

Posts violating this rule will be removed, even if the post is clearly in jest. Repeated offences may lead to a ban. You may understand that the command isn't serious, but a new user might not.

No personal attacks

Posts making a personal attack on any user will not be tolerated.

No hate speech

Hate speech of any kind will not be tolerated. Any violations will be removed, and are grounds for a ban.

founded 1 year ago
MODERATORS
 

I have a little one-line keyboard customization in my ~/.profile that is intended to make my caps lock key function as escape when pressed or ctrl when held.

# Map Caps Lock to Esc/Ctrl
setxkbmap -option 'caps:ctrl_modifier' && xcape -e 'Control_L=Escape;Caps_Lock=Escape'

It works… but only if I manually run source ~/.profile. The weird thing is that it kinda works without the manual intervention, but the caps lock also activates. This does not happen after manually sourcing.

I thought this file was automatically sourced at login. If that's the case, shouldn't the customization work automatically without the file having to be manually sourced? Is there some service that needs to be running before this command fires that is not yet running when the file is automatically sourced? Struggling to understand what's happening here… 🤔

top 6 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 2 months ago (1 children)

If you are using gdm as your login manager, you can put the command in ~/.xprofile... which is sourced by gdm3.

[–] RadDevon 1 points 2 months ago (1 children)

Hmm. I don't seem to have that file, so I guess that means I'm not using gdm? I haven't changed the login manager, so it's whatever comes out of the box with current Pop_os.

[–] [email protected] 2 points 2 months ago (1 children)

If you are using Pop!_OS 22.04, then you are using gdm. You can just create the file if it doesn't exist.

[–] RadDevon 1 points 2 months ago (1 children)

Ah, OK. I'll give this a shot. I found a solution (posted in the comments), but I don't love it because it depends on a sleep and isn't deterministic. Thanks!

[–] RadDevon 1 points 2 months ago

For anyone who happens to find this later, putting it in ~/.xprofile did not work for me, so I'll still with the other solution I posted here for now.

[–] RadDevon 1 points 2 months ago

I found a solution that seems to be working. Forgot where I saw this, or I'd give credit. Maybe StackOverflow?

Anyway, the solution was to write a separate shell script for my keymaps with a sleep 2 at the top. The, I run it as a startup application with this command: /bin/bash -c "sh /home/me/.keymaps.sh"

Apparently, the desktop environment must be loaded in order for the keymaps to take, so having it in my profile was running the command too early.