kdialog를 사용하여 bash 스크립트를 만들었습니다(Kubuntu 12.04에서 실행됨). GUI는 모든 사용자 상호 작용(첫 번째 상호 작용 이후)에 사용됩니다. 그러나 사용자가 터미널 출력을 읽거나 터미널에 아무것도 입력할 필요가 없더라도 스크립트는 여전히 터미널에서 시작되어야 하며 터미널은 계속 표시되어야 합니다. 다음 단계로 가서 내 bash 스크립트를 KDE Gui 응용프로그램과 100% 비슷하게 보이게 만드는 쉬운 방법이 있습니까?
아래 slm과 Ilya Ananyev의 원래 답변에서 .desktop 파일을 만드는 것이 효과가 있다는 것을 알았습니다. 이것은 나에게 놀라운 일입니다. 이것이 제가 찾고 있던 간단한 대답입니다. (저는 점심 시간 동안 완료할 수 있고 bash 스크립트가 실제 GUI 애플리케이션처럼 보이도록 할 수 있는 작업을 원했습니다.) 이 질문을 읽는 다른 독자에게는 .desktop 파일이 정답일 수도 있습니다.
그러나 내 특별한 경우에는 스크립트가 설치 프로그램 스크립트입니다. 그래서 나는 캐치 22에 빠졌습니다. 사용자가 먼저 .desktop 파일의 다른 설치 프로그램을 실행할 필요 없이 .desktop 파일을 설치하여 설치 프로그램을 시작하려면 어떻게 해야 합니까?
또한 내 경우에는 최종 사용자가 스크립트를 사용합니다.아니요컴퓨터 활용 능력. 최종 사용자는 제가 추천한 대로 Linux가 사전 설치된 컴퓨터를 구입했습니다. 내 목표는 그들이 터미널에 전혀 가지 않고도 내 소프트웨어를 설치하도록 하는 것입니다. (아마도 그들은 이전에 명령 프롬프트를 본 적이 없을 것입니다. 그들 중 일부는 마우스 사용법조차 모릅니다!)
따라서 내 솔루션에는 사용자가 해당 파일을 클릭하여 설치 프로그램 스크립트를 시작할 수 있도록 .desktop 파일을 설치하는 마법 같은 방법이 필요한 것 같습니다.
요약하면 내 주요 요구 사항은 다음과 같습니다.
- 터미널을 표시하지 않고 스크립트를 시작하는 방법입니다..desktop 파일이 이 작업을 수행합니다.
- 실행 중에 터미널을 숨겨두는 방법입니다(전적으로 kdialog에 의존하기 때문입니다)..desktop 파일은
Terminal=false
set을 통해 이 작업을 수행합니다. - (선택 사항) 사용자가 sudo 비밀번호를 입력하는 안전한 방법입니다. kdialog 비밀번호 입력 대화 상자에 대해 알고 있지만 사용법은예나는 안전하지 않은 것을 본 적이 있습니다.kdesudo가 해결책일 수도 있지만 X분의 일반적인/기본 sudo 시간 제한을 무시하고 비밀번호를 여러 번 다시 묻는 메시지를 표시합니다. 그래서 그것은 나에게 효과가 없습니다.
- 점심 시간에 구현하기에 충분히 간단합니다..desktop 파일이 이 작업을 수행합니다.
- kdialog와 함께 기존 bash 스크립트를 사용합니다..desktop 파일이 이 작업을 수행합니다.
- 사용자가 스크립트를 실행하기 전에 추가 설정 단계를 수행할 필요가 없습니다.KDE 사용자는 어디에나 있는 .desktop 파일을 클릭할 수 있는 것으로 나타났습니다. 따라서 사용자는 .desktop 파일을 ~/Downloads 폴더에 다운로드하고 거기에서 실행할 수 있습니다.
답변1
제가 올바르게 이해했으면 좋겠습니다. 기존 스크립트의 실행 프로그램만 있으면 됩니다. 그렇다면 스크립트용으로 작은 .desktop 파일을 작성하여 ~/.local/share/applications 또는 /usr/share/applications에 저장해 보세요. 예는 다음과 같습니다.
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=application
Icon=application.png
Terminal=false
추가적으로 (일종의 설치 프로그램을 작성하려는 경우) 설치 스크립트에서 이를 생성할 수 있습니다.