Linux

47941 readers
1099 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
51
 
 

Hello! My girlfriend bought a new pc, an HP pavilion x360 with the touchscreen, and asked me to install her kubuntu as in her previous non-tablet pc, and so I did. It works very well, except for the fact that I tried really hard without success to setup a virtual keyboard. fcitx5 was already installed, but I couldn't find a way to use it as virtual keyboard, and apparently it does not bundle a UI. i then installed maliit (the one that I use on my EndeavourOS 2in1 laptop flawlessly) but it seems to have a strange bug where it only works once, then after you close it it will never pop up again. I tried the workaround suggested here but it works once every 4 tries and the keyboard pops up but is unable to write anything.

Has anyone achieved to install a virtual keyboard on Kubuntu 24.04? I'd rather not switch to X11 because except for the keyboard, the touch support is way better under wayland

thanks in advance to anyone!

52
 
 

If you love exploit mitigations, you may have heard of a new system call named mseal landing into the Linux kernel’s 6.10 release, providing a protection called “memory sealing.” Beyond notes from the authors, very little information about this mitigation exists. In this blog post, we’ll explain what this syscall is, including how it’s different from prior memory protection schemes and how it works in the kernel to protect virtual memory. We’ll also describe the particular exploit scenarios that mseal helps stop in Linux userspace, such as stopping malicious permissions tampering and preventing memory unmapping attacks.

Memory sealing allows developers to make memory regions immutable from illicit modifications during program runtime. When a virtual memory address (VMA) range is sealed, an attacker with a code execution primitive cannot perform subsequent virtual memory operations to change the VMA’s permissions or modify how it is laid out for their benefit.

...

mseal digresses from prior memory protection schemes on Linux because it is a syscall tailored specifically for exploit mitigation against remote attackers seeking code execution rather than potentially local ones looking to exfiltrate sensitive secrets in-memory.

...

From the disallowed operations, we can discern two particular exploit scenarios that memory sealing will prevent:

  • Tampering with a VMA’s permissions. Notably, not allowing executable permissions to be set can stop the revival of shellcode-based attacks.
  • “Hole-punching” through arbitrary unmapping/remapping of a memory region, mitigating data-only exploits that take advantage of refilling memory regions with attacker-controlled data.

...

There are likely many other use cases and scenarios that we didn’t cover. After all, mseal is the newest kid on the block in the Linux kernel! As the glibc integration completes and matures, we expect to see improved iterations for the syscall to meet particular demands, including fleshing out the ultimate use of the flags parameter.

53
 
 

Official statement regarding recent Greg' commit 6e90b675cf942e from Serge Semin

Hello Linux-kernel community,

I am sure you have already heard the news caused by the recent Greg' commit 6e90b675cf942e ("MAINTAINERS: Remove some entries due to various compliance requirements."). As you may have noticed the change concerned some of the Ru-related developers removal from the list of the official kernel maintainers, including me.

The community members rightly noted that the quite short commit log contained very vague terms with no explicit change justification. No matter how hard I tried to get more details about the reason, alas the senior maintainer I was discussing the matter with haven't given an explanation to what compliance requirements that was. I won't cite the exact emails text since it was a private messaging, but the key words are "sanctions", "sorry", "nothing I can do", "talk to your (company) lawyer"... I can't say for all the guys affected by the change, but my work for the community has been purely volunteer for more than a year now (and less than half of it had been payable before that). For that reason I have no any (company) lawyer to talk to, and honestly after the way the patch has been merged in I don't really want to now. Silently, behind everyone's back, bypassing the standard patch-review process, with no affected developers/subsystem notified - it's indeed the worse way to do what has been done. No gratitude, no credits to the developers for all these years of the devoted work for the community. No matter the reason of the situation but haven't we deserved more than that? Adding to the GREDITS file at least, no?..

I can't believe the kernel senior maintainers didn't consider that the patch wouldn't go unnoticed, and the situation might get out of control with unpredictable results for the community, if not straight away then in the middle or long term perspective. I am sure there have been plenty ways to solve the problem less harmfully, but they decided to take the easiest path. Alas what's done is done. A bifurcation point slightly initiated a year ago has just been fully implemented. The reason of the situation is obviously in the political ground which in this case surely shatters a basement the community has been built on in the first place. If so then God knows what might be next (who else might be sanctioned...), but the implemented move clearly sends a bad signal to the Linux community new comers, to the already working volunteers and hobbyists like me.

Thus even if it was still possible for me to send patches or perform some reviews, after what has been done my motivation to do that as a volunteer has simply vanished. (I might be doing a commercial upstreaming in future though). But before saying goodbye I'd like to express my gratitude to all the community members I have been lucky to work with during all these years.

54
 
 

This is probably the last version by me.

Features:

  • Linux native
  • time, 3BV/s and IOE high scores, including percentiles and non-flagging versions
  • scores kept indefinitely for all played games
  • recording and playing replays
  • CSV export
  • timing in milliseconds
  • responsive on slow hardware
  • adjustable square size
  • to reveal squares around a numbered square with flagged adjacent mines you can click the square with any button
  • no "?" marks
  • pause
55
 
 

I run a qemu/KVM setup in which I have different VMs for different use cases/profiles. Very similar in theory to something like Qubes OS. So far when I want to swap to another VM I have to first un-fullscreen, then click the other VM display window and fullscreen that. I was beginning to work on hotkeys and scripts to allow switching between VMs by assigning Ctrl+NumPad# to specific VMs and then having the triggered VM appear in full screen. But I'm imagining there's probably already a VM display manager that streamlines this.

Does anybody have any suggestions?

The biggest factor is that the display needs to be responsive as I'm using these VMs for daily tasks.

Bonus points if the display manager can output a variable for the currently focused VM so I can script the keyboard backlight to change to an assigned color as well as change the power profile of the base operating system to match the currently highlighted VM better.

56
 
 

cross-posted from: https://lemmy.world/post/21289888

https://gitlab.com/christosangel/chaftrix

This program written in C will render the matrix effect in the terminal window in the background, while rendering an image in the foreground, allowing animation of this image in one or two dimensions.

video.png

Image rendering is done with chafa.

This program is the continuation and evolution of other projects:

https://gitlab.com/christosangel/matrix_clone

https://gitlab.com/christosangel/ascii-matrix

https://gitlab.com/christosangel/animatrix

57
31
submitted 5 days ago* (last edited 5 days ago) by Chewy7324@discuss.tchncs.de to c/linux@lemmy.ml
58
59
60
24
submitted 5 days ago* (last edited 5 days ago) by governorkeagan@lemdro.id to c/linux@lemmy.ml
 
 

This started today and hasn’t happened before. Initially I thought it was an application from work that was causing issues. I SSHed into the machine and didn’t see anything strange - I used btop.

I updated the system and rebooted. A few minutes later when I got to the machine to check everything, was frozen again. I hadn’t even logged in.

I’ve used the eos-sendlog feature to get the logs and it seems like it might be GPU related.

I was using KDE with X11 when this happened, but I’ve been using that combination for months at this point. Nothing that I’m aware of has changed or been updated recently to possibly cause this issue.

Update: I’ve done a complete shutdown (turned the PSU off) and rebooted with the LTS kernel. So far so good. It doesn’t seem to be a hardware issue as it worked fine on the live USB.

61
 
 

Now I have more time to do actually important work, boo....

62
 
 
# here is where my aliases go yo

alias alias-edit="vim ~/.local/config/alias_config && source ~/.local/config/alias_config && echo 'Alias updated. \n'"


## Modern cli
alias ls="exa"
alias find="fdfind"

## System 76
alias battery-full="system76-power charge-thresholds --profile full_charge"
alias battery-balanced="system76-power charge-thresholds --profile balanced"
alias battery-maxhealth="system76-power charge-thresholds --profile max_lifespan"

## Maintenance
alias update-flatapt="sudo apt update && sudo apt upgrade -y && flatpak update --assumeyes"

## Misc
alias tree="exa --tree"

## Incus
alias devi-do="sudo incus exec dev0 -- su -l devi"

## Some programs
alias code="flatpak run com.visualstudio.code"
~                                                
63
64
 
 

(this post obviously assumes the recent removal of russian devs due to sanctions is bad; no need to comment if you disagree)

a lot of people i know are considering jumping ship to some bsd after the recent MAINTAINERS debacle, but i'm skeptical it would make any difference. afaik, they're just as us-centric as linux if not more (it's the berkeley software distribution, after all). also, my biggest gripe about the bsds and the main reason i've never had any interest in them is their permissive licensing. permissive licenses suck

would there be any difference wrt sanctions in the bsds or moving away from linux to *bsd bc of that would be pointless?

65
 
 

Today I noticed that after I first booted my computer, my motherboard's Bluetooth card wasn't detected. I need bluetooth to use my speakers because my soundcard doesn't have linux drivers(another problem for another day) so I went without sound today. But then when I restarted the computer to see if that would change anything regarding the Bluetooth, it,

a.) Didn't change anything about the Bluetooth driver, and B) now my 2.4g dongle doesn't work for me to connect my mouse(I can still use it wired though) and my wired keyboard doesn't work.

Both times I booted my noticed that systemd was shutting down udevd, which I have never noticed before. I know that udev is controls peripherals, so that is the most likely issue.

How would I go about fixing my computer?

Computer is running fedora 40 and has an MSI mpg B650 gaming edge wifi. I can send a hardware probe if necessary

66
 
 

I see these here and there on flatpak GTK applications that already have access to my GTK themes. Anyone knows what they're trying to load but fail?

67
 
 

I know I see the little button that does it automatically but I don't want to use that I want to know how to do it correctly. -Problem is, every guide says to use the .asc file. I don't have that, tails gave me a .IMG file, a .SIG file, and then I downloaded a tails-signing.key file. How do I manually verify this file with just those files?

68
 
 

[Solved] just had to create a new partition and then it lets me select FAT.

I'm not sure what happened, I remeber using gnome disks to do this before but it isn't working now now the only options I get are (MBR/DOS) or (GPT) and neither one will let me access the actual USB afterwards in anything other than GNOME disks. I can't use file explorer and add anything to it.

What is going on here? I swear this worked well before but now something has changed suddenly and I can't get it to work anymore.

When I restore a Debian disk image to the USB it will finally show up in the file explorer but I can't add anything to it and the only options I get to format it are those ones that won't let me access it in the file explorer and actually use the USB.

What am I doing wrong?

69
17
submitted 6 days ago* (last edited 6 days ago) by variants@possumpat.io to c/linux@lemmy.ml
 
 

Hello I switched to Linux a few months ago and one thing I liked doing in the past is run bench marks with 3dmark to compare my systems as time goes on with the changes I make.

I learned about phoronix test suite and it looks exactly like what I need but I'm having some trouble in finding a way to compare my systems to other people's similar setups.

So far I got something like

Monitor=cpu.usage,cpu.temp,gpu.usage,gpu.temp phoronix-test-suite benchmark unigine-heaven

But then I only see the tests that I run, does anyone know what test and the command to ve able to compare other people's systems on openbenchmarking.org

70
12
submitted 6 days ago* (last edited 6 days ago) by hallettj@leminal.space to c/linux@lemmy.ml
 
 

Some app launchers these days run each app in a new systemd scope, which puts the app process and any child processes into their own cgroup. For example I use rofi which does this, and I noticed that fuzzel does also. That is handy for tracking and cleaning up child processes!

You can see how processes are organized by running,

$ systemctl --user status

I think that's a quite useful way to see processes organized. Looking at it I noticed a couple of scopes that shouldn't still be running.

Just for fun I wanted to use this to try to script a better killall. For example if I run $ killscope slack I want the script to:

  1. find processes with the name "slack"
  2. find the names of the systemd scopes that own those processes (for example, app-niri-rofi-2594858.scope)
  3. kill processes in each scope with a command like, systemctl --user stop app-niri-rofi-2594858.scope

Step 2 turned out to be harder than I liked. Does anyone know of an easy way to do this? Ideally I'd like a list of all scopes with information for all child processes in JSON or another machine-readable format.

systemctl --user status gives me all of the information I want, listing each scope with the command for each process under it. But it is not structured in an easily machine-readable format. Adding --output json does nothing.

systemd-cgls shows the same cgroup information that is shown in systemctl --user status. But again, I don't see an option for machine-readable output.

systemd-cgtop is interesting, bot not relevant.

Anyway, I got something working by falling back on the classic commands. ps can show the cgroup for each process:

$  ps x --format comm=,cgroup= | grep '^slack\b'
slack           0::/user.slice/user-1000.slice/user@1000.service/app.slice/app-niri-rofi-2594858.scope
slack           0::/user.slice/user-1000.slice/user@1000.service/app.slice/app-niri-rofi-2594858.scope
slack           0::/user.slice/user-1000.slice/user@1000.service/app.slice/app-niri-rofi-2594858.scope
...

The last path element of the cgroup happens to be the scope name. That can be extracted with awk -F/ '{print $NF}' Then unique scope names can be fed to xargs. Here is a shell function that puts everything together:

function killscope() {
    local name="$1"
    ps x --format comm=,cgroup= \
        | grep "^$name\b" \
        | awk -F/ '{print $NF}' \
        | sort | uniq \
        | xargs -r systemctl --user stop
}

It could be better, and it might be a little dangerous. But it works!

71
72
73
74
 
 

I've been 100% on Linux for several years now and I don't miss Windows at all in any aspect.

But in my opinion, there is one thing that Windows does significantly better than Linux, kiosk mode.

I wish Linux had something similar. All the solutions I've been able to find are far more complex and technical to implement and use.

If anybody has suggestions for something that's easy to use on Linux that works similar to Windows kiosk mode, I'd love to try it.

75
view more: ‹ prev next ›