Can't make it run with Ydotool on fedora
Hey everyone, first of all thanks for this amzing tool, I used on my previous distros (Parrot Os) and it was working smoothly, but now I'm on Fedora 37 and I can't make it run with Ydotool since I'm on Wayland. Can you give a more detailled workaround on how to setup. Especially here : You should then place them in a place that's available on your $PATH environment variable.
I downloaded Ydotool with :
sudo dnf install ydotool
This is what I get on the terminal :
failed to connect socket: No such file or directory
Traceback (most recent call last):
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 1574, in <module>
main()
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 1570, in main
args.func(args)
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 1492, in <lambda>
func=lambda args: main_begin(
^^^^^^^^^^^
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 1203, in main_begin
found_any = text_from_vosk_pipe(
^^^^^^^^^^^^^^^^^^^^
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 1006, in text_from_vosk_pipe
handle_fn_wrapper(text, True)
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 943, in handle_fn_wrapper
handle_fn(len(text_prev) - match, text_curr[match:])
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 197, in simulate_typing_with_ydotool
run_command_or_exit_on_failure(
File "/home/creative/.config/nerd-dictation/nerd-dictation", line 50, in run_command_or_exit_on_failure
subprocess.check_output(cmd)
File "/usr/lib64/python3.11/subprocess.py", line 465, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/subprocess.py", line 569, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ydotool', 'type', '--next-delay', '5', '--', 'bonjour']' died with <Signals.SIGABRT: 6>.
write() failed: Broken pipe
Hi ElSamiru,
try this three commands:
sudo chmod u+s /usr/bin/ydotool ydotoold & ./nerd-dictation begin --simulate-input-tool=YDOTOOL --vosk-model-dir=./model &
It worked for me.
Hey @Tom-Obvious thanks for the reply but it still not working on fedora 37, I install ydotool with sudo dnf install ydotool and then typed your command but I still have no permission.
Do you have a workarround from start to finish on how to setup ?
Ah, I have this issue as well... I just posted an issue a minute ago too.
sudo chmod u+s /usr/bin/ydotool ydotoold & ./nerd-dictation begin --simulate-input-tool=YDOTOOL --vosk-model-dir=./model &
This worked for me too!
@Tom-Obvious
How do you implement these commands so that they are always on and permanent when you boot:
sudo chmod u+s /usr/bin/ydotool
ydotoold &
It seems I have to keep running the two previous commands after I reboot and when I want to run:
./nerd-dictation begin --simulate-input-tool=YDOTOOL --vosk-model-dir=./model &
I'm not sure what the issue is with ydotool, but you might have more success with the newish dotool support. dotool doesn't require a daemon so it's a bit simpler.