簡體   English   中英

如何啟動Vimba API作為ubuntu服務

[英]How to start Vimba API as ubuntu service

我在使用 ubuntu 服務時遇到問題,其中包括與 Allied Vision Cameras 相關的 Vimba API。 我構建的應用程序包括 Vimba API、tcp/ip 服務器和 rs485 通信。 它將用於閉環系統,因此我必須編寫一個 ubuntu 服務。 首先,我創建了一個運行該應用程序的腳本。 我使用的腳本如下:

#!/bin/sh
user="$(whoami)"
if [ X"$(uname -m)" = X"x86_64" ]
then
    arch="x86_64"
elif [ X"$(uname -m)" = X"aarch64" ]
then
    arch="arm_64"   
fi

echo $user
echo $arch

/home/${user}/Desktop/App/App_Scripts/bin/${arch}bit/changeName jetson1
/home/${user}/Desktop/App/App_Scripts/App.sh

我使用的服務如下:

[Unit]
Description=App Service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=6
User=jetson1
ExecStart=/home/Desktop/App/App_Scripts/App.sh/

[Install]
WantedBy=multi-user.target

當我以標准用戶身份徒手運行 App.sh 時,它可以正常工作,但是當我啟動應用程序服務時,它會給我 No Transport Layer 錯誤。

我嘗試將必要的庫或依賴項添加到 ubuntu 服務。 我更改了腳本所有者和組,還在命令的開頭添加了 sudo。

有幾件事可能會有所幫助:

  1. 您可以使用 sudo -E 運行腳本嗎? (-E 保存環境變量)
  2. 將其中之一添加到您的 .bashrc 文件中:

32位

導出 GENICAM_GENTL32_PATH=$GENICAM_GENTL32_PATH:"/opt/Vimba_6_0/VimbaGigETL/CTI/x86_32bit/"

64位

導出 GENICAM_GENTL64_PATH=$GENICAM_GENTL64_PATH:"/opt/Vimba_6_0/VimbaGigETL/CTI/x86_64bit/"

然后鍵入 source.bashrc 以確保在環境變量中創建路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM