bash 執行會跑程序的指令 [論壇 - 新手村]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: bash 執行會跑程序的指令
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 32
HP : 156 / 781
MP : 470 / 12356
EXP: 25
離線
A-Wei 寫到:
我從這段話
"raise RuntimeError('X server required. If you are running on a'
RuntimeError: X server required. If you are running on a headless machine, use xvfb"
下去著手查詢..

然後查到..
xvfb是一種圖形化介面的東西
用來模擬視窗化的功能..

我回過頭來回想實體與虛擬的差別

也正是沒有圖形化介面這種功能

實體路徑部份有介面可以讓我操作
但虛擬路徑的沒有(純打指令的地方)

想請問您...
一開始您測試成功..的環境...
也是有圖形介面的Linux環境嗎?
例如Ubuntu..(我是Ubuntu)


我測試的環境是 「Xubuntu 16.04 amd64 英文界面」

#3

然後開啟「Terminal」,

測試一:執行「php -S localhost:8080」,用「firefox http://localhost:8080/test.php」觀看結果。

測試二:執行「php test.php」。

=======================================================

執行


$ grep must_use_qt /usr/lib/calibre/calibre/gui2/__init__.py -A 10



可以看到一些「文字說明」,我也還不懂,不過可以參考看看,看看能不能找到一些線索。


=======================================================




4/24 14:34:53
應用擴展 工具箱
回覆: bash 執行會跑程序的指令
會員一級
註冊日期:
3/31 11:10:21
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 21
MP : 3 / 30
EXP: 86
離線
我安裝了xvfb後就可以正常動作了

apt-get Install xvfb


下指令的方式也不一樣了

xvfb-run gitbook pdf


這樣就成功了~^^
檔案也有產生出來~

但是也出現不一樣的問題...= =

1.PDF產生出來後..中文字全部變成框框..= =像這樣..ロロロロロロ
2.我可以成功是因為我直接在終端機執行指令
但是..我將指令換到sh檔執行..卻出現以下訊息..
/usr/bin/xvfb-run: 184: /usr/bin/xvfb-run: gitbook: not found  fail


test.php
print_r(shell_exec('./test.sh'));


test.sh
#!/bin/bash

IDnumber=../../R123456789

cd $IDnumber

xvfb-run gitbook pdf

if [ $? -eq 0 ];then echo success; else echo fail; fi

exit

4/25 16:49:27
應用擴展 工具箱
回覆: bash 執行會跑程序的指令
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 32
HP : 156 / 781
MP : 470 / 12356
EXP: 25
離線
A-Wei 寫到:
我安裝了xvfb後就可以正常動作了

apt-get Install xvfb


下指令的方式也不一樣了

xvfb-run gitbook pdf


這樣就成功了~^^
檔案也有產生出來~

但是也出現不一樣的問題...= =

1.PDF產生出來後..中文字全部變成框框..= =像這樣..ロロロロロロ
2.我可以成功是因為我直接在終端機執行指令
但是..我將指令換到sh檔執行..卻出現以下訊息..
/usr/bin/xvfb-run: 184: /usr/bin/xvfb-run: gitbook: not found  fail


test.php
print_r(shell_exec('./test.sh'));


test.sh
#!/bin/bash

IDnumber=../../R123456789

cd $IDnumber

xvfb-run gitbook pdf

if [ $? -eq 0 ];then echo success; else echo fail; fi

exit




暫時沒有去研究「/usr/bin/xvfb-run」,

看起來它是「shell script」,您也可以直接看裡面的程式碼來trace它。

先提供我從您上面說的,聯想到的。

=====================================================

第一個先釐清的,你上面提的「xvfb-run gitbook pdf」會發生狀況,

指的是在「docker」的環境下會發生狀況,

還是在實體的環境也會發生狀況?

=====================================================

關於

A-Wei 寫到:
/usr/bin/xvfb-run: 184: /usr/bin/xvfb-run: gitbook: not found  fail



這應該跟「PATH」有關,

我在「[索引]如何執行指令」,有紀錄一些參考連結,

您可以先參考

* 鳥哥的 Linux 私房菜 / 10.4.1 路徑與指令搜尋順序

然後對照您的環境,看看是那個環節導致例外發生的。

可以在「test.sh」執行「echo $PATH」看看該設定值。

從上面提示訊息可以知道,「gitbook」找不到,
所以要看「$PATH」的設定,裡面列的路徑,是否可以找到「gitbook」這個指令。
因為您「gitbook」應該是透過「npm」安裝的,
所以這部份,您就要研究一下在docker需要注意的地方。
還有也要注意您「nodejs」安裝的方式,
在「docker」也許也會有影響,這您要確認看看,
像我是使用「nodenv」的方式來安裝「nodejs」。

另外「gitbook」這個指令,您也可先用「絕對路徑」來測試,可以參考

* 鳥哥的 Linux 私房菜 / 5.3.3 絕對路徑與相對路徑



#!/bin/bash


IDnumber=../../R123456789


cd $IDnumber

echo $PATH

xvfb-run gitbook pdf


if [ $? -eq 0 ];then echo success; else echo fail; fi


exit



=====================================================

關於

A-Wei 寫到:
1.PDF產生出來後..中文字全部變成框框..= =像這樣..ロロロロロロ



這個應該跟中文字型有關,您可能要研究在docker裡面跟字型相關的議題了

之前有紀錄一個「[索引] 字型安裝設定」,裡面有紀錄一些,一般Ubuntu環境下,跟字型相關的討論案例和參考連結。

=====================================================

以上一些想到可以探究的方向,供您參考


4/25 17:25:45
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.