mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-11 10:56:10 +00:00
Keep the Fedora section to what you have to type
The section ran longer than Ubuntu and macOS put together, and most of it answered questions nobody asked while installing: why ffmpeg-free is enough in detail, why the runtime directory settles after login, and why the local models need nothing added. That last one says "do nothing", which is what the reader would have done anyway. The reasoning stays in the pull request, where it belongs; the README keeps the package line and the drop-in. install.sh printed the drop-in the README already carries, six lines where every other warning there is two. It now points at the README. Its readiness check also went from asking whether the unit was up to asking whether the socket is writable, which reads a stopped daemon as ready: the socket file outlives the process. It now wants both, with pgrep for the process so a ydotoold started by hand still counts. All five paths were exercised with systemctl and pgrep shims, and on this Arch box the real user service still reports ready.
This commit is contained in:
@@ -30,19 +30,15 @@ systemctl --user enable --now ydotool # needed for auto-paste
|
||||
dikte # the settings window opens on first run
|
||||
```
|
||||
|
||||
On Fedora KDE the packages are named differently, and `ydotool` takes one step
|
||||
more:
|
||||
On Fedora the packages are named differently, `ffmpeg-free` out of Fedora's own
|
||||
repositories is enough because Dikte only ever takes the audio track of a video
|
||||
file, and `ydotool` takes one step more: it ships as a system service, whose
|
||||
socket stays root-owned and out of your session's reach, so auto-paste fails
|
||||
with the daemon running. Point it at the path the client already looks at and
|
||||
hand the socket over:
|
||||
|
||||
```sh
|
||||
sudo dnf install pipewire-utils wl-clipboard ydotool ffmpeg-free python3-pyqt6
|
||||
```
|
||||
|
||||
Fedora ships `ydotool` as a system service rather than a user one, and
|
||||
`ydotoold` then listens on a root-owned socket your session cannot write to, so
|
||||
auto-paste fails with the daemon running. Point it instead at the path the
|
||||
`ydotool` client already looks at, and hand the socket over:
|
||||
|
||||
```sh
|
||||
sudo mkdir -p /etc/systemd/system/ydotool.service.d
|
||||
printf '[Service]\nExecStart=\nExecStart=/usr/bin/ydotoold --socket-path=%s/.ydotool_socket --socket-own=%s:%s\n' \
|
||||
"$XDG_RUNTIME_DIR" "$(id -u)" "$(id -g)" \
|
||||
@@ -51,20 +47,6 @@ sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now ydotool
|
||||
```
|
||||
|
||||
That runtime directory belongs to your login session, so after a reboot the
|
||||
service restarts until you are logged in and only then settles. `ffmpeg-free`
|
||||
out of Fedora's own repositories is enough, RPM Fusion not needed: what the
|
||||
free build leaves out is H.264 and HEVC video decoding, and Dikte only ever
|
||||
takes the audio track of a video file, whose AAC, MP3 and Opus decoders are all
|
||||
there.
|
||||
|
||||
The models that run on this machine need nothing added either. Those releases
|
||||
are built on Ubuntu and run here as they are, and KWin links `libvulkan.so.1`
|
||||
itself, so a Plasma desktop already has the loader that decides whether
|
||||
llama.cpp arrives in its Vulkan build, with the Mesa drivers alongside it.
|
||||
whisper.cpp publishes no GPU build for Linux at all and transcribes on the
|
||||
processor wherever it runs.
|
||||
|
||||
On Ubuntu/GNOME X11, recording uses PulseAudio and clipboard/paste use the X11
|
||||
tools instead:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user