Como eu crio um ícone do iniciador do Unity para Redcar em um ambiente RVM?

4

O Redcar é um aplicativo gráfico que é instalado por meio de um gem Ruby, e eu o instalei em um ambiente Ruby que é gerenciado por RVM .

Um ícone de iniciador não é instalado automaticamente, por isso preciso criar um sozinho. Eu tentei usar a opção "Keep in launcher" do Unity para o ícone que é exibido enquanto o Redcar está em execução:

Mas quando eu saio do Redcar e clico no ícone do lançador, o ícone pisca e o Redcar não abre.

Como posso criar um ícone de inicialização de trabalho?

Eu tentei criar ~/.local/share/applications/redcar.desktop com o seguinte conteúdo:

[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;

O arquivo é executável e é mostrado com o ícone da Redcar quando eu navego para ~/.local/share/applications no Nautilus, mas nada acontece quando clico nele duas vezes. Redcar corre bem quando eu digito /home/ak/.rvm/gems/ruby-1.9.2-p290/bin/redcar em um terminal.

    
por ændrük 26.09.2011 / 10:56

3 respostas

2

As gemas do Ruby são instaladas em ~/.rvm/gems/ruby-$version@$gemset/ com o RVM.

Primeiro, baixe este ícone e salve para ~/.local/share/icons/redcar.png .

Agora, salve o seguinte em ~/bin/redcar.sh e torne-o executável com 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

Agora, você precisará criar um arquivo da área de trabalho apontando manualmente para o executável e o ícone corretos. Deve ser algo como:

[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;

Coloque-o em ~/.local/share/applications/redcar.desktop . Ele deverá aparecer na pesquisa de traços e você poderá arrastá-lo para o Iniciador.

    
por jrg 01.01.2012 / 00:52
1

As gemas do Ruby estão instaladas em /var/lib/gems/1.8/ . Você precisará criar um arquivo da área de trabalho apontando manualmente para o executável e o ícone corretos. Deve ser algo como:

[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;

Coloque-o em ~/.local/share/applications/redcar.desktop Ele deve aparecer no Dash, e você deve ser capaz de arrastá-lo para o Launcher.

Para mais informações gerais sobre como criar lançadores personalizados no Unity, veja esta pergunta:

Como posso editar / criar novos itens de iniciação no Unity manualmente?

    
por andrewsomething 03.12.2011 / 20:02
1

No caso de alguém não estar totalmente satisfeito com a forma como os métodos acima mencionados funcionam, aqui está o meu script de instalação legal que deve fazer tudo (oh bem, se você quiser o launcher para o doc, você precisará arrastá-lo lá por você mesmo ..). Depois que este redcar aparecer nas pesquisas de traço, pode ser adicionado ao lançador e pode ser lançado da linha de comando com o comando redcar. Ele assume que rvm já está instalado (conforme a instalação do usuário) e eu acho que você precisa do java para que o jruby funcione.

#!/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
    
por Timo 11.05.2012 / 12:55