首页>Raspberry Pi>source

在Raspberry OS上登录GUI后,我大部分时间都试图启动两个命令.我尝试登录到GUI之后(而不是在启动时)运行Ruby on Rails服务器.我要运行的命令是:

~/.xsessionrc

#!/bin/bash
. /home/pi/.rvm/scripts/rvm
cd /home/pi/base/ && rails s -b 10.3.141.1 -p 3000 -d &

我一直在尝试使用 .profile.bash_profile.bashrc.xsession.xinitrc 但是事实证明这是不可能的,而且除了中断安装之外,我没有其他的方法.我也去过 .desktopautostart 选项,然后在线阅读各种文章和问答.还尝试将其保存到一个单独的脚本中并运行该脚本,它们在触发时均按我的预期从命令行运行,但是在GUI登录后服务器未自动运行.从GUI中启动外壳程序后,我得到的最接近的服务器将自动运行。

I think I should be editing the xsession 这些文件由 lightdm运行 通过GUI登录后? 但是,当我这样做时,GUI会中断,并且每次尝试后都将我返回到登录密码屏幕。

尽管有很多时间,但我似乎离解决方案还差得很远-从经验来看,这通常意味着我对基本的东西误解了!

任何帮助都会很棒

非常感谢

最新回答
  • 2021-1-6
    1 #

    With Joan's help the solution is to refer to the absolute path of rails 而不是依靠 rvm

    which rails -提供绝对路径,在我的情况下为 /home/pi/.rvm/gems/ruby-2.5.3/bin/rails .然后,您需要更换 binwrappers 按照这个答案。

    您可以将命令添加到 .xsessionrc文件中 在您的主目录中,这是在登录GUI后运行的.如果它不存在,则可以创建它.下面的命令将打开一个文本编辑器( nano )并根据需要创建它:

    nano ~/.xsessionrc
    

    文件内容应为:

    #!/bin/bash
    cd [FULL_PATH_TO_DIRECTORY] && [PATH_TO_RAILS] s -b 10.3.141.1 -p 3000 -d &
    

    位置:

      [PATH_TO_RAILS] = /home/pi/.rvm/gems/ruby-2.5.3/wrappers/rails

      [FULL_PATH_TO_DIRECTORY] = /home/pi/...

      -b 10.3.141.1 -将服务器绑定到特定的IP地址,这是 可选。

      -p 3000 -指定滑轨应使用的端口, 再次可选

      -d -将服务器作为守护程序运行,这很重要 如果您在后台运行

      & -确保过程 继续进行,并且他们不等待服务器结束 这是过程

  • ntp:如何确保RTC正确