.desktop - 运行 RBENV shell - 运行 应用 ruby 版本
.desktop - run RBENV shell - Run app with ruby version
在 16.04 sudo 环境中使用 RBENV。
如何使用 RBENV shell $rubyversion
或类似的解决方案 运行 来自 .desktop
文件的 ruby 应用程序用于具有预定义 ruby 版本的菜单?
编辑:
以下是我如何使用 Ḱathryin 发布的解决方案:
我向 bash 添加了交互式 shell 选项,不确定它到底是如何工作的,但它有所帮助。
桌面文件:
[Desktop Entry]
Name=app
Encoding=UTF-8
Exec=bash -ic "/path/app.sh;${SHELL:-bash}"
Type=Application
运行应用程序的 sh exec
echo '#!/bin/bash -i
cd /...../appdir
source ~/.bashrc
eval "$(rbenv init -)"
rbenv shell 2.4.1
./app $*
' > app.sh
sudo ln -s /path/app.sh /usr/local/bin/app
运行带有 sudo 的应用程序似乎也可以工作!
有关设置 .desktop
文件的详细信息,请参阅:Creating a .desktop file for a new application。
由于 rbenv
(如果安装正确)是一个函数而不是可执行文件,它不会像指向正确的文件那么简单。一种解决方案是创建一个 shell 脚本来设置环境:
#!/usr/bin/env bash # Execute as a bash script
eval "$(rbenv init -)" # Initialize rbenv
ruby $* # Run the ruby script specified the .desktop file
然后确保脚本可执行并将其放入您的 .desktop
Exec key:
Exec=/path/to/script/ruby_stub.sh script_you_want_to_run.rb ARGS
在 16.04 sudo 环境中使用 RBENV。
如何使用 RBENV shell $rubyversion
或类似的解决方案 运行 来自 .desktop
文件的 ruby 应用程序用于具有预定义 ruby 版本的菜单?
编辑:
以下是我如何使用 Ḱathryin 发布的解决方案: 我向 bash 添加了交互式 shell 选项,不确定它到底是如何工作的,但它有所帮助。
桌面文件:
[Desktop Entry]
Name=app
Encoding=UTF-8
Exec=bash -ic "/path/app.sh;${SHELL:-bash}"
Type=Application
运行应用程序的 sh exec
echo '#!/bin/bash -i
cd /...../appdir
source ~/.bashrc
eval "$(rbenv init -)"
rbenv shell 2.4.1
./app $*
' > app.sh
sudo ln -s /path/app.sh /usr/local/bin/app
运行带有 sudo 的应用程序似乎也可以工作!
有关设置 .desktop
文件的详细信息,请参阅:Creating a .desktop file for a new application。
由于 rbenv
(如果安装正确)是一个函数而不是可执行文件,它不会像指向正确的文件那么简单。一种解决方案是创建一个 shell 脚本来设置环境:
#!/usr/bin/env bash # Execute as a bash script
eval "$(rbenv init -)" # Initialize rbenv
ruby $* # Run the ruby script specified the .desktop file
然后确保脚本可执行并将其放入您的 .desktop
Exec key:
Exec=/path/to/script/ruby_stub.sh script_you_want_to_run.rb ARGS