디버그 출력으로 OSX 터미널에서 응용 프로그램 열기


2

다음 open과 같이을 사용하여 응용 프로그램을 열 수 있습니다 .

open ./MyApp.app

그러나 이것은 응용 프로그램의 디버그 출력을 표시하지 않습니다. 필요합니다.

패키지 내에서 바이너리를 수동으로 찾아서 실행하면 인쇄물이 잘 나오지만 응용 프로그램을 실행할 수 있기를 원합니다.


1
따라서 bash에서 백그라운드로 실행 파일을 실행하여 출력을보고 싶지 않습니까? 다른 방법이 있는지 확실하지 않습니다. .app 패키지는 Bash가 개인적으로 알지 못하는 독점 Apple 디자인입니다.
jcrawfordor 2016 년

응용 프로그램을 숨기고 싶지만 코코아를 사용해야합니다. plist 파일에서 "Application is agent"를 설정하고 실제 응용 프로그램으로 실행하면 제대로 작동합니다. 바이너리를 직접 실행하면 숨겨지지 않고 dock + menu 구성 요소가 표시됩니다.
Matt

1
실제로 cd-ing 대신 경로를 지정하여 이진 파일을 실행하면 정상적으로 작동합니다. 시원한.
Matt

답변:


0

open 명령에는 디버그 또는 상세 플래그가 없습니다.

을 사용하여 응용 프로그램의 경고 또는 오류 출력을 볼 수 있습니다 console.app.

console.app

또는 애플리케이션에 디버그 또는 상세 플래그가있는 경우을 사용하여 플래그를 애플리케이션에 전달할 수 있습니다 open --args. 예를 들어, Chrome에는 --enable-logging --v=1디버깅 chrome_debug.log을 설정하고 Chrome 사용자 데이터 디렉토리에 출력을 저장하는 플래그 가 있습니다 . 다음 옵션으로 Chrome을 시작할 수 있습니다

open -a "Google Chrome" --args --enable-logging --v=1

open명령 옵션

 -a application
     Specifies the application to use for opening the file

 -b bundle_indentifier
     Specifies the bundle identifier for the application to use when open-
     ing the file

 -e  Causes the file to be opened with /Applications/TextEdit

 -t  Causes the file to be opened with the default text editor, as deter-
     mined via LaunchServices

 -f  Reads input from standard input and opens the results in the default
     text editor.  End input by sending EOF character (type Control-D).
     Also useful for piping output to open and having it open in the
     default text editor.

 -F  Opens the application "fresh," that is, without restoring windows.
     Saved persistent state is lost, except for Untitled documents.

 -W  Causes open to wait until the applications it opens (or that were
     already open) have exited.  Use with the -n flag to allow open to
     function as an appropriate app for the $EDITOR environment variable.

 -R  Reveals the file(s) in the Finder instead of opening them.

 -n  Open a new instance of the application(s) even if one is already run-
     ning.

 -g  Do not bring the application to the foreground.

 -j  Launches the app hidden.

 -h  Searches header locations for a header whose name matches the given
     string and then opens it.  Pass a full header name (such as NSView.h)
     for increased performance.

 -s  For -h, partial or full SDK name to use; if supplied, only SDKs whose
     names contain the argument value are searched. Otherwise the highest
     versioned SDK in each platform is used.

 --args
     All remaining arguments are passed to the opened application in the
     argv parameter to main().  These arguments are not opened or inter-
     preted by the open tool.

-1

해결책은 현재 디렉토리에 상대적인 경로가 아니라 응용 프로그램의 절대 경로를 지정하는 것입니다.

예를 들어
open /home/matt/MyApp.app


2
아무런 차이가 없어야합니다.
Daniel Beck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.