The small linux problem thread

It got fixed in the Fedora Silverblue 41

Thatā€™s good. Now that I think about it I think the repurposed nuc I put in the home gym still runs fedora. I think I just told it to update to 41 a few days ago.

1 Like

Itā€™s not possible to just take the string as-is because you want the string to do two thingsā€¦ First thereā€™s an arg, separated by a space from the filename, then you want it NOT to use the spaces in the file name as a field separator.

Itā€™s true that other languages handle this better, because they arenā€™t primarily shells that need to guess what the user wanted. When your language is strong-typed, itā€™s easy to know exactly what the programmer wants.

A few though-provoking options to fix this:

  1. Take the spaces out of your file names.
  2. Use TWO variablesā€¦ one for the option, and a second for the file name.
  3. Set IFS= to something that isnā€™t commonly found in file namesā€¦ like a carat(^), then put carats in your variables between the various args instead of spacesā€¦
1 Like

But thatā€™s kind of my point. It shouldnā€™t be treating the space as a separation.

When I have a string like:

--chapter "file name.mkv"

ā€¦ then that is one string, not an option and its argument. It should take that string literally like it is and not make assumptions how itā€™s going to be used and change it based on them.
Ofc for it to be one string Iā€™d have to quote that, and thatā€™s what I did:

"--chapter \"file name.mkv\""

The only thing it should do with this is unescape the \" and thatā€™s it. But instead itā€™s inexplicably doing the opposite in double and triple escaping the escape charactersā€¦

I would, but I have limited control over them.

Hadnā€™t thought of that, but seems a bit clunky.

Hmmmm thatā€™sā€¦ interesting. Iā€™ve seen IFS mentioned before but itā€™s one of those things that I never think of to apply on my own (kinda what we touched on last time with the manual lol)

Think Iā€™ve got some mildly borked networkingā€¦ Every now and then (a few times a day) Iā€™ll just momentarily lose my connection to a remote machine. Enough to lose my remote desktop (sunshine/moonlight) and any SSH sessions (in which I have done stuff such as started sunshine, which then dies when the terminal dies.)

Where do I start digging into this? Iā€™ve got another machine on the same switch that I havenā€™t had any issues losing my xRDP or SSH sessions. Donā€™t see anything of interest in the logs on either the host or the client, but I may not be looking in the right place, or maybe donā€™t have network manager verbose enough or something?

Youā€™ve got both a command-arg and a file name (with spaces) in your single variable. If you had IFS=ā€œā€ if would treat them both as a single thing, and not work.

i.e. ā€“chapterfilename.mkv isnā€™t a valid arg (and isnā€™t a valid file name, either).

It uses the space between ā€œā€“chapterā€ and ā€œfileā€ to know that theyā€™re two different things. But then youā€™ve got a space in your file name, too, so it thinks thereā€™s three thingsā€¦

One way to make it understand what you want:

IFS=^ 
VAR="-chapter^file name.mkv"
1 Like

It should take that string literally like it is

Thatā€™s not bash youā€™re complaining about, but how running commands works in Unix-like operating systems. Programs donā€™t get a long string with the command line in it, they get an array of pointers to strings, one pointer for each argument. You must have seen in C int main(int argc, char* argv[]). And, conventionally, --option value is two arguments; if bash did that differently it would break most commands.

My sympathy, though, quoting issues in shell scripts can be awful.

Right I got that from your previous post. But thatā€™s what Iā€™m saying. Iā€™m defining a single string, not 2 parts of a string. It doesnā€™t need to ā€œknowā€ these are two things because to the interpreter it should not matter what Iā€™m going to end up using the string for.

I understand why itā€™s the default but thatā€™s why Iā€™m saying Iā€™d like a ā€œdumbā€ mode where it doesnā€™t make these assumptions and when I fuck up the quoting thatā€™s on me.
I guess that is what the IFS method could do in a roundabout way.

bash is already not POSIX compliant so an option for it would not make a difference. Iā€™m not talking about defaults here.

It is supposed to have a POSIX-compliant mode when run as /bin/sh instead of /bin/bash, but when I tested this some time ago it would still let me do bash-specific things so IDK whatā€™s up with that.

EDIT: I forgot to check which of my drives had each OS and made a stupid mistake. I used to run the small SSD on my LInux everyday installation and forgot I swapped them a year ago. Ignore this post

Hi there! Iā€™m currently using 2 SSDā€™s in my ZorinOS installation. One 256GB one which I installed ZorinOS to (nvme0n1), and a second Windows 10 Pro 512GB one (nvme1n1).

I thought my bootloader was installed into the ZorinOS one, but as soon as I removed the W10 one to give it another purpose, it wouldnā€™t boot into Linux anymore. This is weird since I especifically installed each operative system in a different physical drive, but I guess Windows, which got installed afterwards, is predatory enough to have taken the bootloader partition somehow.

This is how it currently looks in Disks:




Could someone let me know how to fully transfer whatever partition is making my 256GB SSD depend on the Windows SSD to boot? I tried booting a Live USB of ZorinOS and run a Boot Repair utility, but the Live USB

Probably the boot sector didnā€™t get installed on that drive because there was already a drive in there flagged for it. So you would have to carve out a boot sector, I guess - I donā€™t know any other tricks, but Iā€™ve not had to deal with many problems on this front.

https://wiki.archlinux.org/title/EFI_system_partition

edit: except it looks like the 256gb disk has windows, and the 512 has linux? and the boot sector is on the 512?

1 Like

My bad, that is right, it was the other way around. Iā€™m so dumb.

Iā€™ll read the documentation, I will need to figure all this out once I upgrade from the 512GB SSD anyways, but thatā€™s a story for another day.

My god, I canā€™t believe I Just spent the whole afternoon trying to troubleshoot this. I originally removed the 512GB SSD and left the 256GB in, so I guess Windows couldnā€™t boot because the 512GB (Linux drive) had the boot sector on it.

Shame on me

1 Like

Hello everyone!
I was unsure whether or not to open a new thread, so i figured i may as well ask here first.
Iā€™m trying to get my HP reverb g2 to work (fedora 41), i found Envision and managed to get the WMR profile installed (after hours of tinkering, manually compiling and installing monado+basalt, only to find i was just missing the boost-devel package :facepalm: ), now my issue is that when i try to start it, i have permission failures when accessing the device:
ERROR [p_open_hid_interface] Failed to open device ā€˜/dev/hidraw3ā€™ got ā€˜-13ā€™
ERROR [wmr_create_headset] Failed to open HoloLens Sensors HID interface

i tried making a udev rule, but it didnā€™t help - maybe i did it wrong?
12:45:41 zvir@fedora ~ ā†’ cat /etc/udev/rules.d/98-reverb.rules
SUBSYSTEM==ā€œusbā€, ATTRS{idVendor}==ā€œ03f0ā€, ATTRS{idProduct}==ā€œ0580ā€, ACTION==ā€œaddā€, MODE=ā€œ0666ā€, TAG+=ā€œuaccessā€
12:47:23 zvir@fedora ~ ā†’ lsusb|grep HP
Bus 001 Device 021: ID 03f0:0580 HP, Inc QHMD A85V

when testing monado with vulkan, it encounters the same error, unless i invoke it with sudo (running this: VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ./build/src/xrt/targets/service/monado-service)

For the record, steamVR does not recognize the headset either, but iā€™m assuming itā€™s also related to the USB permissions, as i did add the monado folder to the steam external drivers.

Any ideas on what i should try next? should i try Envision/Monado support?
Thank you.

So I have a weird problem where Virtual Machines arenā€™t able to connect to the internet, specifically the NAT virtual network, when firewalld is running on the system. They seem to connect to the isolated virtual network and macvtap devices just fine. I cannot figure out what configuration is causing this. Hereā€™s my firewalld configuration for the libvirt interfaces:

 $ sudo firewall-cmd --zone=libvirt --list-all
libvirt (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: virbr0 virbr1
  sources: 
  services: dhcp dhcpv6 dns ssh tftp
  ports: 
  protocols: icmp ipv6-icmp
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
        rule priority="32767" reject

I wonder if it could be a problem with the underlying NFTables or IPTables rules, but I am not knowledgeable enough in those to be able to diagnose. I feel like I am only just now getting comfortable with Firewalld itself. I do wonder if the problem here is also why my Firewalld port forwards havenā€™t been working too - though me trying to forward ports to a particular virtual machine using Firewalld rules couldā€™ve been whatā€™s caused this too.

P.S. Earlier today, I upgraded the system, and upon boot I got the message: unmaintained driver detected: nft_compat which lead me to this article: The ipset and iptables-nft packages have been deprecated - Red Hat Customer Portal
This could be related, too, but when I try to uninstall ipset and iptables-nft it tries to uninstall a bunch of other things that I do not want it to uninstall.

P. P. S. I just realized that the isolated network seems to only connect when I configure the VMā€™s interface to obtain a static IP instead of one from the hostā€™s DHCP server.

P. P. P. S. Well, I just tried to set a static IP for the NAT interface, and while I have a connection between the host and the VM as on the isolated network, the VM cannot access the open internet :thinking:

Ok so I am starting to think that I have way too much computers at home and that I need to somehow centralize accounts and identities because I think that file permission gets weird for the admin account.

So how does one centralize identities for logging in and file ownership purposes? Do I have setup my ā€œadminzā€ across all my devices at home? Should I make things easier by using NAS instead with no file ownership?

LDAP I guess?

1 Like

Easiest way to start is FreeIPA

1 Like

Iā€™ve botched up an update and had to chroot into my system to regenerate kernel files in /boot directory.
I used some automation (manjaro-chroot -a) and ended within chrooted environment but without /home directory mounted.
Invoking pacman -Suyv made the system bootable again, but with quirks.
Lost icons on login screen and in launcher / status bar. Some windows got a black frame around (pic, right).
Many programs wonā€™t start: Terminal, Gedit. Firefox didnā€™t wanted to start either, but somehow it recovered data from ā€˜oldā€™ profile.


Any way to repair it with less hustle then new installation?