pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.54k stars 410 forks source link

Exception under openbox when running Solaar at startup: no online device found matching '0' #1962

Closed webodan closed 1 year ago

webodan commented 1 year ago

Information

``` solaar version 1.1.8 Receptor Unifying Device path : /dev/hidraw8 USB id : 046d:C52B Serial : 42F4925D Firmware : 24.11.B0036 Bootloader : 02.09 Other : AA.AC Has 1 paired device(s) out of a maximum of 6. Notifications: wireless, software present (0x000900) Device activity counters: 1=92 1: Wireless Touch Keyboard K400 Plus Device path : /dev/hidraw9 WPID : 404D Codename : K400 Plus Kind : keyboard Protocol : HID++ 4.1 Polling rate : 8 ms (125Hz) Serial number: 304E66B3 Model ID: 404D00000000 Unit ID: 0F18F9DB Bootloader: BOT 22.02.B0002 Firmware: RQK 63.02.B0016 Other: The power switch is located on the top edge. Supports 24 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V1 Firmware: Bootloader BOT 22.02.B0002 404D6217AD40 Firmware: Firmware RQK 63.02.B0016 404D6217AD40 Firmware: Other Unit ID: 0F18F9DB Model ID: 404D00000000 Transport IDs: {'wpid': '404D'} 3: DEVICE NAME {0005} V0 Name: Wireless Touch Keyboard K400 Plus Kind: keyboard 4: WIRELESS DEVICE STATUS {1D4B} V0 5: CONFIG CHANGE {0020} V0 6: BATTERY STATUS {1000} V0 Battery: 90%, discharging, next level 50%. 7: REPROG CONTROLS V4 {1B04} V0 Desvio de Tecla/Botón (saved): {Volume Up:Normal, Volume Down:Normal, Mute:Normal, Play/Pause:Normal, Next:Normal, Previous:Normal, Application Switcher:Normal, My Home:Normal, Media Player:Normal, Search:Normal, Sleep:Desviado, Contextual Menu:Normal, Back:Normal, Show Desktop:Normal, Maximize Window:Normal, Switch Screen:Normal, Fn Left Click:Normal, Second Left Click:Normal} Desvio de Tecla/Botón : {Volume Up:Normal, Volume Down:Normal, Mute:Normal, Play/Pause:Normal, Next:Normal, Previous:Normal, Application Switcher:Normal, My Home:Normal, Media Player:Normal, Search:Normal, Sleep:Normal, Contextual Menu:Normal, Back:Normal, Show Desktop:Normal, Maximize Window:Normal, Switch Screen:Normal, Fn Left Click:Normal, Second Left Click:Normal} 8: SWAP BUTTON CANCEL {2005} V0 9: NEW FN INVERSION {40A2} V0 Fn-swap: enabled Fn-swap default: enabled Intercambiar función Fx (saved): False Intercambiar función Fx : True 10: ENCRYPTION {4100} V0 11: KEYBOARD DISABLE KEYS {4521} V0 Desactivar teclas (saved): {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False} Desactivar teclas : {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False} 12: TOUCHPAD RAW XY {6100} V0 13: GESTURE 2 {6501} V0 Gestos (saved): {1: True, 2: True, 10: True, 30: True, 34: False, 42: True, 43: True, 45: False, 64: False, 65: False, 67: False, 84: True} Gestos : {1: True, 2: True, 30: True, 10: True, 45: False, 42: True, 43: True, 64: False, 65: False, 67: False, 84: True, 34: False} Desvío de gestos (saved): {1: False, 2: False, 10: False, 44: False, 64: False, 65: False, 67: False, 84: False, 85: False, 100: False} Desvío de gestos : {1: False, 2: False, 10: False, 44: False, 64: False, 65: False, 67: False, 84: False, 85: False, 100: False} Parámetros de gestos (saved): {4: {'scale': 314}} Parámetros de gestos : {4: {'scale': 256}} 14: DFUCONTROL UNSIGNED {00C1} V0 15: unknown:1811 {1811} V0 internal, hidden 16: unknown:1830 {1830} V0 internal, hidden 17: unknown:1890 {1890} V0 internal, hidden 18: unknown:1DF3 {1DF3} V0 internal, hidden 19: unknown:1E00 {1E00} V0 hidden 20: unknown:1EB0 {1EB0} V0 internal, hidden 21: unknown:1861 {1861} V0 internal, hidden 22: unknown:18B0 {18B0} V0 internal, hidden 23: unknown:1F11 {1F11} V0 internal, hidden Has 20 reprogrammable keys: 0: Second Left Click , default: Left Click => Left Click mse, divertable, pos:0, group:0, group mask:empty reporting: default 1: Back , default: Mouse Back Button => Mouse Back Button is FN, FN sensitive, reprogrammable, divertable, pos:1, group:0, group mask:empty reporting: default 2: My Home , default: HomePage => HomePage is FN, FN sensitive, reprogrammable, divertable, pos:2, group:0, group mask:empty reporting: default 3: Application Switcher , default: Application Switcher => Application Switcher is FN, FN sensitive, reprogrammable, divertable, pos:3, group:0, group mask:empty reporting: default 4: Contextual Menu , default: Right Click => Right Click is FN, FN sensitive, reprogrammable, divertable, pos:4, group:0, group mask:empty reporting: default 5: Search , default: Search Files => Search Files is FN, FN sensitive, reprogrammable, divertable, pos:5, group:0, group mask:empty reporting: default 6: Show Desktop , default: Show Desktop => Show Desktop is FN, FN sensitive, reprogrammable, divertable, pos:6, group:0, group mask:empty reporting: default 7: Maximize Window , default: Maximize Window => Maximize Window is FN, FN sensitive, reprogrammable, divertable, pos:7, group:0, group mask:empty reporting: default 8: Switch Screen , default: Switch Presentation/Switch Screen => Switch Presentation/Switch Screen is FN, FN sensitive, reprogrammable, divertable, pos:8, group:0, group mask:empty reporting: default 9: Media Player , default: Music => Music is FN, FN sensitive, reprogrammable, divertable, pos:9, group:0, group mask:empty reporting: default 10: Previous , default: Previous => Previous is FN, FN sensitive, divertable, pos:10, group:0, group mask:empty reporting: default 11: Play/Pause , default: Play/Pause => Play/Pause is FN, FN sensitive, divertable, pos:11, group:0, group mask:empty reporting: default 12: Next , default: Next => Next is FN, FN sensitive, divertable, pos:12, group:0, group mask:empty reporting: default 13: Fn Left Click , default: ShowUI => ShowUI divertable, pos:0, group:0, group mask:empty reporting: default 14: Left Button , default: Left Click => Left Click mse, pos:0, group:0, group mask:empty reporting: default 15: Right Button , default: Right Click => Right Click mse, pos:0, group:0, group mask:empty reporting: default 16: Mute , default: Mute => Mute nonstandard, divertable, pos:0, group:0, group mask:empty reporting: default 17: Volume Up , default: Volume Up => Volume Up nonstandard, divertable, pos:0, group:0, group mask:empty reporting: default 18: Volume Down , default: Volume Down => Volume Down nonstandard, divertable, pos:0, group:0, group mask:empty reporting: default 19: Sleep , default: Sleep => Sleep reprogrammable, divertable, pos:0, group:0, group mask:empty reporting: default Has 17 gesture(s), 1 param(s) and 5 spec(s): Track1Finger Enabled(None): None Diverted:(None) None TapGestures Enabled(None): None Diverted:(None) None Tap1Finger Enabled( 0): True Diverted:( 0) False Tap2Finger Enabled( 1): True Diverted:( 1) False TapDrag1Finger Enabled( 2): True Diverted:(None) None DoubleTap1Finger Enabled( 3): True Diverted:( 2) False Scroll2FingerStateless Enabled(None): None Diverted:( 3) False NaturalScrolling Enabled( 4): False Diverted:(None) None Scroll2FingerHoriz Enabled( 5): True Diverted:(None) None Scroll2FingerVert Enabled( 6): True Diverted:(None) None LeftEdgeSwipe1Finger2 Enabled( 7): False Diverted:( 4) False RightEdgeSwipe1Finger2 Enabled( 8): False Diverted:( 5) False TopEdgeSwipe1Finger2 Enabled( 9): False Diverted:( 6) False Zoom2FingerStateless Enabled( 10): True Diverted:( 7) False FnClickGestureSuppression Enabled( 11): False Diverted:(None) None TwoFingersPresent Enabled(None): None Diverted:( 8) False DeviceSpecificRawData Enabled(None): None Diverted:( 9) False ScaleFactor Value ( 0): 256 [Default: 256] period unit Spec ( 3): 2048 DVI field width Spec ( 1): 8 field widths Spec ( 2): 8 multiplier Spec ( 5): None resolution Spec ( 4): 4 Battery: 90%, discharging, next level 50%. ```
``` - 1.1.8 - _NAME: Wireless Touch Keyboard K400 Plus _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, dpi, speed-change, backlight, backlight-timed, reprogrammable-keys, persistent-remappable-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, sidetone, equalizer] _battery: 4096 _modelId: 404D00000000 _sensitive: {fn-swap: false, gesture2-divert: false, gesture2-gestures: false, gesture2-params: true} _serial: 304E66B3 _unitId: 0F18F9DB _wpid: 404D disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 8: 0, 34: 0, 40: 0, 62: 0, 64: 1, 79: 0, 84: 0, 110: 0, 145: 0, 149: 0, 183: 0, 184: 0} fn-swap: false gesture2-divert: {1: false, 2: false, 10: false, 44: false, 64: false, 65: false, 67: false, 84: false, 85: false, 100: false} gesture2-gestures: {1: true, 2: true, 10: true, 30: true, 34: false, 42: true, 43: true, 45: false, 64: false, 65: false, 67: false, 84: true} gesture2-params: 4: {scale: 314} ```
2023-01-06 18:35:57,419,419     INFO [MainThread] logitech_receiver.diversion: GDK Keymap set up
2023-01-06 18:35:57,435,435     INFO [MainThread] solaar.upower: connected to system dbus, watching for suspend/resume events
2023-01-06 18:35:57,440,440     INFO [MainThread] solaar.ui.notify: starting desktop notifications
2023-01-06 18:35:57,480,480     INFO [MainThread] solaar.listener: starting receiver listening threads
2023-01-06 18:35:57,605,605  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 00000C45 PID 00008006: Expecting 64 usages but got 1
2023-01-06 18:35:57,608,608  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 00000C45 PID 00008006: Expecting 5 usages but got 3
2023-01-06 18:35:57,610,610  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 000028DE PID 00001142: Expecting 64 usages but got 1
2023-01-06 18:35:57,610,610  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 000028DE PID 00001142: Expecting 64 usages but got 1
2023-01-06 18:35:57,611,611  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 000028DE PID 00001142: Expecting 64 usages but got 1
2023-01-06 18:35:57,611,611  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 000028DE PID 00001142: Expecting 64 usages but got 1
2023-01-06 18:35:57,612,612     INFO [MainThread] hidapi.udev: Found device BID 0003 VID 0000046D PID 0000C52B HID++ True True USB 2 2
2023-01-06 18:35:57,612,612     INFO [MainThread] solaar.listener: receiver event add DeviceInfo(path='/dev/hidraw8', bus_id=3, vendor_id='046D', product_id='C52B', interface=2, driver='logitech-djreceiver', manufacturer=None, product=None, serial='', release=None, isDevice=None, hidpp_short=True, hidpp_long=True)
2023-01-06 18:35:57,612,612     INFO [MainThread] logitech_receiver.base: New lock 13
2023-01-06 18:35:57,615,615     INFO [ReceiverListener:hidraw8] logitech_receiver.listener: started with <ReceptorUnifying(/dev/hidraw8,13)> (13)
2023-01-06 18:35:57,615,615     INFO [ReceiverListener:hidraw8] solaar.listener: <ReceptorUnifying(/dev/hidraw8,13)>: notifications listener has started (13)
2023-01-06 18:35:57,615,615     INFO [ReceiverListener:hidraw8] logitech_receiver.base: New lock <_ThreadedHandle(/dev/hidraw8)>
2023-01-06 18:35:57,625,625     INFO [ReceiverListener:hidraw8] logitech_receiver.receiver: <ReceptorUnifying(/dev/hidraw8,13)>: receiver notifications enabled => ('wireless', 'software present')
2023-01-06 18:35:57,631,631     INFO [ReceiverListener:hidraw8] solaar.listener: status_changed <ReceptorUnifying(/dev/hidraw8,13)>: present, Ningún dispositivo conectado. (0) 
2023-01-06 18:35:57,631,631     INFO [ReceiverListener:hidraw8] solaar.listener: ignoring DJ pairing notification Notification(20,1,41,01,4D401E4000000400000000)
2023-01-06 18:35:57,631,631     INFO [ReceiverListener:hidraw8] solaar.listener: ignoring DJ pairing notification Notification(20,0,41,02,0000000000000000000000)
2023-01-06 18:35:57,637,637     INFO [ReceiverListener:hidraw8] logitech_receiver.receiver: <ReceptorUnifying(/dev/hidraw8,13)>: found new device 1 (404D)
2023-01-06 18:35:57,637,637     INFO [ReceiverListener:hidraw8] solaar.listener: connection Notification(10,1,41,04,314D40) for <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)> (keyboard)
2023-01-06 18:35:57,639,639     INFO [ReceiverListener:hidraw8] solaar.listener: status_changed <ReceptorUnifying(/dev/hidraw8,13)>: present, 1 dispositivo vinculado. (0) 
2023-01-06 18:35:57,644,644     INFO [ReceiverListener:hidraw8] logitech_receiver.base: New lock 21
2023-01-06 18:35:57,735,735     INFO [ReceiverListener:hidraw8] logitech_receiver.device: <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>: unitId 0F18F9DB does not match serial 304E66B3
2023-01-06 18:35:57,775,775     INFO [ReceiverListener:hidraw8] solaar.listener: status_changed <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 90, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 
2023-01-06 18:35:58,379,379     INFO [ReceiverListener:hidraw8] logitech_receiver.status: <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)> pushing device settings [<Setting([característica:toggle] K400 Plus:fn-swap=None)>, <Setting([característica:map choice] K400 Plus:divert-keys=None)>, <Setting([característica:multiple toggle] K400 Plus:disable-keyboard-keys=None)>, <Setting([característica:multiple toggle] K400 Plus:gesture2-gestures=None)>, <Setting([característica:multiple toggle] K400 Plus:gesture2-divert=None)>, <Setting([característica:multiple range] K400 Plus:gesture2-params=None)>]
2023-01-06 18:35:58,919,919     INFO [ReceiverListener:hidraw8] solaar.listener: status_changed <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>: paired online, {'LINK ENCRYPTED': True, 'BATTERY LEVEL': 90, 'BATTERY STATUS': NamedInt(0, 'discharging'), 'BATTERY NEXT LEVEL': 50, 'BATTERY VOLTAGE': None, 'BATTERY CHARGING': False, 'ERROR': None} (0) 

Describe the bug I'm trying to use Solaar in Openbox, but no matter what I do, it always reverts back to fn-swap true, when i want fn-swap false. Trying to run solaar config 0 fn-swap false from the autostart file in openbox throws me the error I describe on the thread title. (happens if i run solaar config 1 ... as well).

To Reproduce Steps to reproduce the behavior: Try running Solaar with solaar -w hide & on the autostart, then solaar config 1 (or 0) fn-swap false &, or the solaar config command first, then solaar -w hide, or just one of either. It always prints Exception: no online device found matching '0' (or '1').

Nothing works, i'm ALWAYS getting the fn-swap true behavior, and I have to manually touch the GUI (clicking the lockpick so it's open, then again so it's closed, will restore my desired fn-swap behavior, but it does not retain this between system reboots) or run solaar config 1 fn-swap false manually, by opening a terminal, and then run the command, or with a keyboard hotkey so that it actually takes effect and works. Only doing it manually every time will make it work. Trying to automate it doing the same commands that I do manually will crash solaar.

I also tried using usbreset to try to reset the USB device before running solaar either with the GUI or with the config command, since the "online device" error suggested me it wasn't picking up the receiver correctly. Still no dice.

I don't understand its problem with the fn-swap, I manually set the config.yaml so it will always do false, even foregoing the GUI and making sure it said false so it would apply as such in there but it just does what it wants.

Sorry for the tl;dr, but I've been trying to make it work for a couple hours now, trying to understand what's wrong with it, since it makes no sense to me that commands run here or there would produce a different result, despite them being the same commands run as the same user. It annoyed me like crazy.

Additional context Simply trying to run solaar in openbox's autostart script will just break it. Even trying to run it from a terminal as in xterm -e "solaar config 1 fn-swap false" will make it break with the aforementioned no online device error. If I manually run that same command from that same terminal then it works, what sense does that make? :confused:

pfps commented 1 year ago

It may be that devices in openbox are not set up early enough to be able to run solaar config during autostart. If you can run solaar config later this is likely the case. I've never run openbox so I don' t know how to get around this problem, although you might try adding a delay before running solaar config.

But you shouldn't need to run solaar config at all if you are running the Solaar GUI. Solaar should notice when your device first shows up (and also when the device comes back from a power-saving state) and apply the saved value for fn-swap. If you use solaar config by itself any value you change will be forgotten when the device goes into a power-saving state.

webodan commented 1 year ago

I did try adding a delay before running solaar -w hide & (something like sleep 5s; or lower)a couple times too, while testing, but it still didn't apply the fn-swap. Hopefully I didn't break anything with the solaar config command, I'll try making a new config from scratch or something.

For the moment what I did was change the alt+f4 hotkey from openbox into Alt+Menu so at least I can close windows easily without running commands manually in the middle.

pfps commented 1 year ago

What would be useful is running solaar -ddd -w hide during autostart and capturing its error output. That would show the interactions between Solaar and the device.

pfps commented 1 year ago

I set up my K400+ on my main computer and set up an autostart desktop file running

Exec=/usr/bin/sh -c "solaar -ddd --window=hide &> /home/pfps/log.text"

When I looked at log.text everything was fine, including setting the fn-swap. The relevant lines are


2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.settings: fn-swap: apply None (<Device(1,404D,Wireless Touch Keyboard K400 Plus,132A9261)>)
2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.settings: fn-swap: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,132A9261)>
2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.settings: fn-swap: setting write False to <Device(1,404D,Wireless Touch Keyboard K400 Plus,132A9261)>
2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00'
2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.settings: fn-swap: settings prepare write(False) => b'\x00'
2023-01-06 14:02:26,933,933    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) <= w[11 01 091F 00000000000000000000000000000000]
2023-01-06 14:02:26,953,953    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (17) => r[11 01 091F 00010000000000000000000000000000]

Showing Solaar turning fn-swap off and the device acknowledgement (including that the default is on).

You should see a similar interaction in the file.

If you see a line in the file looking like the acknowledgement line (i.e., containing => r[11 01 091X) but with a different value as the first byte of the long hex sequence then some other piece of code is interfering with the setting. (You will likely see two acknowledgement lines, as Solaar sees most responses from devices twice - what you should look for is a third line, particularly with a different value for the setting or a different nibble for the X.)

webodan commented 1 year ago

After deleting the config.yaml and regenerating a new one with the GUI, then disabling fn-swap so it's false from there, and running solar -w hide & from openbox's autostart, it's doing what it should, idk, maybe my config file was bad or something.

I'm posting the output of my "solaar -ddd --window=hide &> ~/log.text" in a sec...

EDIT: the command didn't output a log for me, neither in openbox's autostart nor in the Exec line of an xsessions desktop file...

Here it goes again, I just rebooted and it doesn't alt+f4 to close windows, f4 is mapped to Menu in xev , gonna try logging from a terminal since it seems like it works for me...

2023-01-07 09:20:13,498,498    DEBUG [ReceiverListener:hidraw8] logitech_receiver.settings: fn-swap: apply None (<Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>)
2023-01-07 09:20:13,498,498    DEBUG [ReceiverListener:hidraw8] logitech_receiver.settings: fn-swap: settings read None from <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>
2023-01-07 09:20:13,498,498    DEBUG [ReceiverListener:hidraw8] logitech_receiver.settings: fn-swap: setting write False to <Device(1,404D,Wireless Touch Keyboard K400 Plus,304E66B3)>
2023-01-07 09:20:13,499,499    DEBUG [ReceiverListener:hidraw8] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00'
2023-01-07 09:20:13,499,499    DEBUG [ReceiverListener:hidraw8] logitech_receiver.settings: fn-swap: settings prepare write(False) => b'\x00'`

It's super strange, it does log when i run the program manually but it neither logs nor swaps the function keys if I run it doing boot in the autostart....

I've also noticed it works kinda spotty, sometimes it will swap the fn, sometimes it won't, which also led me to opening a bug report, it's like it's not consistent

webodan commented 1 year ago

I found out that even if it solaar boots up along with the system with the fn-swap set to true (f4 mapped to menu) if I turn off the keyboard then turn it on with its on/off switch, solaar applies the fn-swap and then maps menu to f4. Maybe this was in the documentation, idk, but at least there's an easy way for it to work that doesn't involve delays or remembering hotkeys, so for the moment I'll go with this, just gotta remember to turn off the keyboard during reboots or when putting the PC to sleep.

pfps commented 1 year ago

Because devices forget their settings when powered off or in a power-saving mode, Solaar pushes settings each time a device connects. So when you turn the device off and on Solaar will push settings to it.

It is still unclear why this is not effective when you start your computer.

webodan commented 1 year ago

Can you give me a reliable way to make it show what it prints after autostarting openbox? so I can show you if it gives a different error now, since I've been trying for a couple more hours, and now it most definitely gets fixed if i switch off and on my keyboard after a reboot. Adding delays using sleep was spotty; sometimes they worked, other times they didn't. I assume there's something wrong when it's starting from a fast WM? I don't really know,

pfps commented 1 year ago

What I did was put

Exec=/usr/bin/sh -c "solaar -ddd --window=hide &> /home/pfps/log.text"

in my solaar.desktop autostart file. If you start programs some other way then you may have to do something else.

Note that if you are autostarting Solaar as root then Solaar will look under root's home directory for its configuration file. That file is likely to be different from the one under your home directory. Running Solaar as root is not a good idea in any case.

pfps commented 1 year ago

It would be useful to see the complete output from running solaar config at autostart.

pfps commented 1 year ago

Closed due to no response from submitter.