39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
import os
 | 
						|
import sys
 | 
						|
import PyQt5.QtWidgets as QtWidgets
 | 
						|
def OpenTerminal(command):
 | 
						|
    if terminalEnd[terminal][1]:
 | 
						|
        os.system(f"\"{terminal}\" \"{terminalEnd[terminal][0]}\" \"{command}\"")
 | 
						|
        print(f"\"{terminal}\" \"{terminalEnd[terminal][0]}\" \"{command}\"")
 | 
						|
        return
 | 
						|
    os.system(f"\"{terminal}\" \"{terminalEnd[terminal][0]}\" {command}")
 | 
						|
    print(f"\"{terminal}\" \"{terminalEnd[terminal][0]}\" {command}")
 | 
						|
programPath = os.path.split(os.path.realpath(__file__))[0]  # 返回 string
 | 
						|
# 对终端的获取
 | 
						|
# 优先为深度终端
 | 
						|
terminal = ""
 | 
						|
terminalList = [
 | 
						|
    "deepin-terminal",
 | 
						|
    "mate-terminal",
 | 
						|
    "gnome-terminal",
 | 
						|
    "xfce4-terminal"
 | 
						|
]
 | 
						|
terminalEnd = {
 | 
						|
    f"{programPath}/../launch.sh\" \"deepin-terminal": ["-e", 0],
 | 
						|
    "mate-terminal": ["-e", 1],
 | 
						|
    "gnome-terminal": ["--", 0],
 | 
						|
    "xfce4-terminal": ["-e", 1]
 | 
						|
}
 | 
						|
for i in terminalList:
 | 
						|
    if not os.system(f"which {i}"):
 | 
						|
        if i == "deepin-terminal":
 | 
						|
            i = f"{programPath}/../launch.sh\" \"deepin-terminal"
 | 
						|
        terminal = i
 | 
						|
        break
 | 
						|
if terminal == "":
 | 
						|
    print("无法识别到以下的任意一个终端")
 | 
						|
    print(" ".join(terminalList))
 | 
						|
    app = QtWidgets.QApplication(sys.argv)
 | 
						|
    QtWidgets.QMessageBox.critical(None, "错误", "无法识别到以下的任意一个终端\n" + " ".join(terminalList))
 | 
						|
    exit()
 |