Донастройка запуска RubyMine в Omarchy
Установил Rubymine на Omarchy через AUR. То есть, просто Install → AUR → rubymine.
После запуска IDE показала попап с текстом:
The IDE seems to be launched with a script launcher ('bin/rubymine.sh'). Please consider switching to native launcher ('bin/rubymine') for better experience.
Ну и дали ссылку на документацию. Проблема в том, что JetBrains официально не поставляют свои IDE на Arch Linux, не говоря уже про Omarchy. Другая проблема в том, что я ведь ставил не руками, а через GUI, и запускаю тоже через GUI, потому даже не до конца ясно, где и что редактировать.
Поковыряв исходники я понял, что список приложений собирается автоматически, а не захардкожен, как многие другие пункты, в default/omarchy/omarchy-menu.jsonc. И судя по всему, он собирается из двух мест:
- /usr/share/applications/ — для глобально доступных приложений;
- ~/.local/share/applications/ — для локально доступных приложений.
Посмотрев на PKGBUILD rubymine я выяснил, что он добавляет ссылку на приложение в глобальную папку:
install -Dm0644 rubymine.desktop \
"${pkgdir}/usr/share/applications/rubymine.desktop"
А ещё добавляет ссылку на Shell-файл, о котором видимо и говорит IDE:
ln -s "/usr/share/${pkgname}/bin/${pkgname}.sh" \
"${pkgdir}/usr/bin/jetbrains-${pkgname}"
Потому сделал две вещи.
Во-первых, добавил в /usr/bin/ ссылку на бинарник:
sudo ln -s /usr/share/rubymine/bin/rubymine /usr/bin/rubymine
Во-вторых, исправил /usr/share/applications/rubymine.desktop, заменив там строчку с Exec на такую:
Exec=/usr/bin/rubymine
И перезапустил меню Omarchy с помощью omarchy menu refresh.
После этого закрыл-открыл RubyMine, и проблема ушла. Дополнительно к этому ещё и rubymine стал доступен в терминале.
Перезапуск RubyMine помимо прочего нужен был ещё и потому, что перезапуск меню не сразу подхватывает изменения в desktop-файлах, почему-то. Заметил это, когда пытался переименовать некоторые элементы в списке приложений. Простое переименование внутри desktop-файла не применялось, пока приложение не было запущено, закрыто и снова запущено. Видимо, где-то в этот момент какие-то кэши сбрасываются.
P. S. У меня не было проблемы с интеграцией RubyMine с Hyprland и Wayland, но если что, JetBrains выкатили поддержку флагов, которые можно указать, чтобы явным образом сказать IDE, с каким дисплей-сервером работать.