簡體   English   中英

我想在不使用終端的情況下運行程序 - 這可能嗎? 怎么樣?

[英]i want to run a program without using terminal — is it possible ? how?

我有一個程序可以進行文件復制,但不需要打印終端。

現在我想通過雙擊./filemove來運行該文件,但它沒有做任何事情。 通過終端它工作正常。

我認為這是因為我需要包含標題,我不知道如何將標題包含在該文件中。

有誰能夠幫助我? 我想知道如何將頭文件包含到可執行文件中,或者如果這不是原因而不是其他原因?

謝謝。

我使用的是Ubuntu Linux操作系統。 我沒有采取任何環境變量,仍然無法找到它!

我將對此進行一次嘗試,並猜測您的問題與文件路徑有關。 在Linux上,你可以絕對運行沒有終端的程序。 終端只是應用程序的接口。 您正在使用的桌面環境也是如此。

我假設你的filemove程序正在使用相對路徑。 我猜測正在發生的事情是,當你雙擊你的應用程序時,DE會從不同的目錄運行它。這是非常反直覺的但是可能的。 因此,如果您的程序位於/home/user/myproject/並且雙擊它,那么DE可能會從/home/user/運行它。

我建議將輸出添加到您的程序,並打印出它的工作目錄。 由於您未在CLI上運行它,因此請將其打印到文件中。

編輯:您還可以嘗試將任何相對文件路徑更改為絕對文件路徑並查看它是否有效。 這至少會告訴你工作目錄是否有問題。

如果您想進一步嘗試調試它,請創建一個包含以下內容的shell腳本:

#!/bin/sh
exec strace /path/to/yourprogram "$@" >/tmp/strace.out 2>&1

使腳本可執行,並運行它而不是你的程序,在/tmp/strace.out中尋找線索確保你已經安裝了strace程序( apt-get install strace

一個瘋狂的猜測:當你在終端中運行它時,你是否給你的程序提供參數? 如命令./filemove oldname newname

在這種情況下,您需要以其他方式將這些參數提供給程序。 在至少一些窗口系統中,您可以在程序圖標上拖放文件,以便將這些文件的路徑作為參數。

暫無
暫無

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

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