Как создать значок запуска Unity для Redcar в среде RVM?
Redcar - это графическое приложение, которое устанавливается через гем Ruby, и я установил его в среде Ruby, которая управляется RVM.
Значок запуска не устанавливается автоматически, поэтому мне нужно создать его самостоятельно. Я попытался использовать опцию Unity "Keep in launcher" для значка, который отображается во время работы Redcar:
Но когда я выхожу из Redcar и затем щелкаю значок запуска, значок только мигает, а Redcar не открывается.
Как я могу создать работающую иконку запуска?
Я пытался создать ~/.local/share/applications/redcar.desktop
со следующим содержанием:
[Desktop Entry]
Type=Application
Version=1.0
Name=Redcar
Comment=A programmer's text editor written in Ruby!
Icon=/home/ak/.rvm/gems/ruby-1.9.2-p290/gems/redcar-0.11/share/icons/redcar-icon-beta.png
Exec=/home/ak/.rvm/gems/ruby-1.9.2-p290/bin/redcar
Categories=Development;IDE;
Файл является исполняемым и отображается со значком Redcar, когда я просматриваю ~/.local/share/applications
в Nautilus, но ничего не происходит, когда я дважды щелкаю по нему. Redcar работает нормально, когда я вхожу /home/ak/.rvm/gems/ruby-1.9.2-p290/bin/redcar
в терминале.
3 ответа
Рубиновые камни установлены в ~/.rvm/gems/ruby-$version@$gemset/
с RVM.
Сначала загрузите этот значок и сохраните в ~/.local/share/icons/redcar.png
,
Теперь сохраните следующее в ~/bin/redcar.sh
и сделать его исполняемым с chmod +x ~/bin/redcar.sh
,
#!/bin/bash
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
\# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
\# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
rvm use 1.9.3@redcar-install
gem install redcar
redcar
Теперь вам нужно вручную создать файл рабочего стола, указывающий на правильный исполняемый файл и значок. Это должно выглядеть примерно так:
[Desktop Entry]
Type=Application
Version=1.0
Name=Redcar
Comment=A programmer’s text editor written in Ruby and Java.
Icon=~/.local/share/icons/redcar.png
Exec=~/bin/redcar.sh
Categories=Development;IDE;
Поместите это в ~/.local/share/applications/redcar.desktop
Затем он должен появиться в поиске тире, а затем вы сможете перетащить его в Launcher.
Рубиновые камни установлены в /var/lib/gems/1.8/
Вам нужно будет вручную создать файл рабочего стола, указывающий на правильный исполняемый файл и значок. Это должно выглядеть примерно так:
[Desktop Entry]
Type=Application
Version=1.0
Name=Redcar
Comment=A programmer’s text editor written in Ruby!
Icon=/var/lib/gems/1.8/gems/redcar-0.11/share/icons/redcar-icon-beta
Exec=/var/lib/gems/1.8/gems/redcar-0.11/bin/redcar
Categories=Development;IDE;
Поместите это в ~/.local/share/applications/redcar.desktop
Затем он должен появиться в Dash, и вы сможете перетащить его в Launcher.
Для получения более общей информации о создании пользовательских модулей запуска в Unity см. Этот вопрос:
Как я могу редактировать / создавать новые элементы запуска в Unity вручную?
В случае, если кто-то еще не совсем удовлетворен тем, как вышеупомянутые методы выполнения этой работы, вот мой крутой установочный скрипт, который должен делать все (ну, хорошо, если вы хотите запустить программу запуска, вам нужно будет перетащить ее туда, самостоятельно..). После этого redcar будет отображаться в поисках тире, может быть добавлен в панель запуска и может быть запущен из командной строки с помощью команды redcar. Предполагается, что rvm уже установлен (в соответствии с пользовательской установкой), и я думаю, что вам нужна java для работы jruby.
#!/bin/bash
echo "Ensure users local bin dir exists"
[[ ! -d ~/bin ]] && mkdir ~/bin
echo "done."
echo "Install jruby and redcar gem wrapping it to a wrapper"
rvm install jruby &&
rvm jruby@redcar --create &&
gem install redcar &&
redcar install &&
rvm wrapper jruby@redcar wrapped redcar &&
echo "For rvm to work properly with gnome shell make sure gnome shell session is set to use login shell" &&
echo "Adding alias to ~/.bash_login\nalias redcar=wrapped_recar" &&
echo -e '\nalias redcar=wrapped_redcar' >> ~/.bash_login &&
echo "Creating a wrapper script to ~/bin for launching the app from launcher" &&
echo '#!/bin/bash
shopt -s expand_aliases
[[ -f ~/.rvm/scripts/rvm ]] && . ~/.rvm/scripts/rvm
alias redcar=wrapped_redcar
redcar' > ~/bin/redcar.sh &&
chmod u=rwx,og=r ~/bin/redcar.sh &&
echo "Creating launcher icon" &&
echo "[Desktop Entry]
Type=Application
Version=`redcar -v`
Name=Redcar
Comment=A programmer’s text editor written in Ruby and Java.
Icon=`find ~/.rvm -name redcar-icon-beta.png`
Exec=~/bin/redcar.sh
Categories=Development;IDE;" > ~/.local/share/applications/redcar.desktop