[GH-ISSUE #421] Linux application doesn't provide a clear message upon failure when there isn't a system tray #210

Open
opened 2026-03-02 12:04:28 +03:00 by kerem · 1 comment
Owner

Originally created by @GarrettGR on GitHub (Jan 7, 2026).
Original GitHub issue: https://github.com/kavishdevar/librepods/issues/421

When I saw that there was a flake in the linux/rust branch I excitedly went to run it, however when I did so, I got an error:

[2026-01-07T19:47:21Z ERROR librepods] Failed to read devices file: No such file or directory (os error 2)
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_commands; commands=[Auth(Some(External), Some([49, 48, 48, 48]))] extra_bytes=None
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_commands; commands=[NegotiateUnixFD, Begin] extra_bytes=Some([108, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 109, 0, 0, 0, 1, 1, 111, 0, 21, 0, 0, 0, 47, 111, 114, 103, 47, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 47, 68, 66, 117, 115, 0, 0, 0, 2, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0, 3, 1, 115, 0, 5, 0, 0, 0, 72, 101, 108, 108, 111, 0, 0, 0, 6, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0])
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::client] receive_secondary_responses; expected_n_responses=1
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO  zbus::connection] start_object_server; started_event=Some(Event { listeners_notified: 0, listeners_total: 1 })
[2026-01-07T19:47:21Z INFO  zbus::connection] monitor_name_lost; name=org.kde.StatusNotifierItem-56222-1

thread '<unnamed>' (56240) panicked at src/main.rs:136:41:
called `Result::unwrap()` on an `Err` value: Watcher(ServiceUnknown("The name is not activatable"))
stack backtrace:
   0:     0x55556fcc6330 - <unknown>
   1:     0x55556f8d29dc - <unknown>
   2:     0x55556fccb390 - <unknown>
   3:     0x55556fcdf048 - <unknown>
   4:     0x55556fcc682c - <unknown>
   5:     0x55556fcc67a4 - <unknown>
   6:     0x55556fcdc6f0 - <unknown>
   7:     0x55556f7baaa4 - <unknown>
   8:     0x55556f7bb064 - <unknown>
   9:     0x55556f82eb70 - <unknown>
  10:     0x55556f7f5d5c - <unknown>
  11:     0x55556fa6338c - <unknown>
  12:     0x55556fcd581c - <unknown>
  13:     0x7fffba6801ec - start_thread
  14:     0x7fffba6f034c - thread_start
  15:                0x0 - <unknown>
zsh: abort (core dumped)  nix run github:kavishdevar/librepods/linux/rust\#default

Now, after poking around I very quickly was able to determine that the issue was that I don't run a system try on my machine, but others may benefit from a more clear error message.

I use Hyprland on NixOS, so it was pretty easy to add a tray to my waybar config and rebuild my machine, now now the app launches and I am onto debugging a number of other errors, but I absolutely love this project. I've been running Asahi on a number of my daily drivers for the last couple years and I love getting to break even more of the Apple ecosystem!

Originally created by @GarrettGR on GitHub (Jan 7, 2026). Original GitHub issue: https://github.com/kavishdevar/librepods/issues/421 When I saw that there was a flake in the linux/rust branch I excitedly went to run it, however when I did so, I got an error: ```sh [2026-01-07T19:47:21Z ERROR librepods] Failed to read devices file: No such file or directory (os error 2) [2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_command; command=Auth(Some(External), Some([49, 48, 48, 48])) [2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_commands; commands=[Auth(Some(External), Some([49, 48, 48, 48]))] extra_bytes=None [2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] read_commands; n_commands=1 [2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] write_commands; commands=[NegotiateUnixFD, Begin] extra_bytes=Some([108, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 109, 0, 0, 0, 1, 1, 111, 0, 21, 0, 0, 0, 47, 111, 114, 103, 47, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 47, 68, 66, 117, 115, 0, 0, 0, 2, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0, 3, 1, 115, 0, 5, 0, 0, 0, 72, 101, 108, 108, 111, 0, 0, 0, 6, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0]) [2026-01-07T19:47:21Z INFO zbus::connection::handshake::client] receive_secondary_responses; expected_n_responses=1 [2026-01-07T19:47:21Z INFO zbus::connection::handshake::common] read_commands; n_commands=1 [2026-01-07T19:47:21Z INFO zbus::connection] start_object_server; started_event=Some(Event { listeners_notified: 0, listeners_total: 1 }) [2026-01-07T19:47:21Z INFO zbus::connection] monitor_name_lost; name=org.kde.StatusNotifierItem-56222-1 thread '<unnamed>' (56240) panicked at src/main.rs:136:41: called `Result::unwrap()` on an `Err` value: Watcher(ServiceUnknown("The name is not activatable")) stack backtrace: 0: 0x55556fcc6330 - <unknown> 1: 0x55556f8d29dc - <unknown> 2: 0x55556fccb390 - <unknown> 3: 0x55556fcdf048 - <unknown> 4: 0x55556fcc682c - <unknown> 5: 0x55556fcc67a4 - <unknown> 6: 0x55556fcdc6f0 - <unknown> 7: 0x55556f7baaa4 - <unknown> 8: 0x55556f7bb064 - <unknown> 9: 0x55556f82eb70 - <unknown> 10: 0x55556f7f5d5c - <unknown> 11: 0x55556fa6338c - <unknown> 12: 0x55556fcd581c - <unknown> 13: 0x7fffba6801ec - start_thread 14: 0x7fffba6f034c - thread_start 15: 0x0 - <unknown> zsh: abort (core dumped) nix run github:kavishdevar/librepods/linux/rust\#default ``` Now, after poking around I very quickly was able to determine that the issue was that I don't run a system try on my machine, but others may benefit from a more clear error message. I use Hyprland on NixOS, so it was pretty easy to add a tray to my waybar config and rebuild my machine, now now the app launches and I am onto debugging a number of other errors, but I absolutely love this project. I've been running Asahi on a number of my daily drivers for the last couple years and I love getting to break even more of the Apple ecosystem!
Author
Owner

@GarrettGR commented on GitHub (Jan 7, 2026):

Ah! I was playing around with writing a NixOS service module for librepods and when I was deciding what options to expose to the service I realized that I somehow missed the --no-tray flag!

I think having it warn about not finding a tray but still launching might be a more reasonable fall-back rather than just failing entirely?

Or, if failing without the presence of a system tray is the desired behavior, then the warning / message about the reason for the failure should also mention the option to run it without a tray.

<!-- gh-comment-id:3721220970 --> @GarrettGR commented on GitHub (Jan 7, 2026): Ah! I was playing around with writing a NixOS service module for librepods and when I was deciding what options to expose to the service I realized that I somehow missed the `--no-tray` flag! I think having it warn about not finding a tray but still launching might be a more reasonable fall-back rather than just failing entirely? Or, if failing without the presence of a system tray *is* the desired behavior, then the warning / message about the reason for the failure should also mention the option to run it without a tray.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#210
No description provided.