Донастройка запуска 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, с каким дисплей-сервером работать.