我會直接指出這一點。 我正在開發一個GUI for Linux的GTK程序,當用戶點擊一個特定的按鈕時,應該運行安裝腳本。無法在新窗口中運行安裝腳本
如果我通過終端運行我的應用程序,我現在正在開發它,我有一個開放的終端和bash腳本可以運行。
#this works
python main.py
我的問題是什麼,是應用程序將被釋放作爲一個普通的應用程序,它通過.desktop文件運行時,像往常一樣,這意味着終端將不開放。
我一直在搜索遍地,無法找到一種方法來運行我的安裝腳本,打開一個新的終端爲安裝目的。 在正常情況下,從bash,那麼你可以運行這個命令:
uxterm -e -hold 'path to script'
我不能在python這項工作與:
os.system("uxterm -e -hold 'installer_path')
因爲installer_path是一個字符串:
string=name.lower().lstrip().replace(" ","")+"_installer.sh"
installer_path=get_app_installer_path(category)+string
所以我的觀點是,我該如何正確打開一個新終端,並從新終端運行我的安裝腳本?
謝謝你的時間。
所以,你的問題是,installer_path被視爲一個字符串,而不是一個變量? – Samy
是的,因爲在該方法中,安裝程序路徑被視爲字符串,而應將其作爲bash命令或bash腳本的路徑進行處理。 – Woops
我對你的解釋很迷茫,所以讓我們儘可能清楚。以下聲明是正確的嗎? 'installer_path是一個Python變量,我想在子shell中用作Bash變量,但相反,Bash將變量視爲一個名爲「installer_path」的字符串。這是這種情況嗎? – Samy