首頁>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会中斷,並且每次尝試後都將我返迴到登錄密碼螢幕。

尽管有很多時間,但我似乎离解決方案還差得很远-从经驗来看,這通常意味着我對基本的东西誤解了!

任何帮助都会很棒

非常感谢

最新回復
  • 5月前
    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正確