sudo 명령으로 Java 프로젝트에서 소프트웨어 설치

user3142980

내가 달성하고 싶은 것은 내가
만든 자바 애플리케이션에서 소프트웨어를 설치하는 것 입니다. gksudo에게 허가를 받았습니다. 그런 다음 패스를 입력하고 예 / 아니요 옵션이 나타날 때까지 프로그램이 작동하기 시작했습니다. 이 질문을 어떻게 통과 할 수 있습니까?

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

import java.io.IOException;


public class TestApp {
public static void main(String[] args) {
     Process ls = null;

    BufferedReader input = null;

    String line = null;

    try {

        ls = Runtime.getRuntime().exec(
                new String[] { "gksudo", "apt-get", "install", "PACKAGE" });
        try {
            ls.wait(6000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        ls = Runtime.getRuntime().exec(new String[] { "y" });
        input = new BufferedReader(new InputStreamReader(
                ls.getInputStream()));

    } catch (IOException e1) {
        e1.printStackTrace();
        System.exit(1);
    }

    try {
        while ((line = input.readLine()) != null) {
            System.out.println(line);
        }

        ls.destroy();

    } catch (IOException e1) {
        e1.printStackTrace();
        System.exit(0);
    }
  }

  }
Blafasel

쉬움-다소 특별한-해결책 : "apt-get install ..."대신 "apt-get -y install ..."을 실행하지 마십시오. 확인을위한 질문이 표시되지 않습니다.

보다 일반적인 접근 방식 : Runtime.exec ()는 프로세스 인스턴스를 생성합니다. 코드에서 수행하는 작업은 "apt-get"과 "y"의 두 가지 프로세스를 만드는 것입니다. 해야 할 일은 하나의 프로세스 인스턴스를 만들고이 프로세스의 입력 채널에 문자 "y"를 입력하는 것입니다. 이것은 프로세스를 생성하고 (이미 수행 한 것처럼) 입력에 대한 참조를 수집하고이 입력에 "y \ n"을 전송하여 수행됩니다.

입력은 프로세스의 입력에 연결된 OutputStream을 제공하는 Process.getOutput ()을 호출하여 얻습니다.

이 모든 결과는 다음과 같습니다.

ls = Runtime.getRuntime().exec(
            new String[] { "gksudo", "apt-get", "install", "PACKAGE" });
ls.getOutput().write("y\n".getBytes());

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

sudo는 전역 적으로 설치된 소프트웨어에 액세스 할 수 없습니다.

분류에서Dev

우분투 소프트웨어 및 "sudo snap install gimp"로 인해 김프 설치가 실패했습니다.

분류에서Dev

java / play 프로젝트 내에서 heroku에 bower 설치 실행

분류에서Dev

소프트웨어 센터와 apt-get으로 설치

분류에서Dev

소프트웨어 RAID 10으로 Ubuntu 설치

분류에서Dev

github에서 프로젝트 설치

분류에서Dev

소프트웨어 설치 프로그램 생성

분류에서Dev

소프트웨어 설치

분류에서Dev

Core Java Swing 소프트웨어 설정

분류에서Dev

그래픽 sudo 프롬프트를 sudo 명령으로 대체

분류에서Dev

Ubuntu 소프트웨어 설치 프로그램의 소프트웨어 병렬 버전

분류에서Dev

로컬 설치를위한 소프트웨어 센터 구성

분류에서Dev

로컬 설치를위한 소프트웨어 센터 구성

분류에서Dev

터미널로 설치된 소프트웨어 열기

분류에서Dev

PowerShell DSC. 소프트웨어 다운로드 및 설치

분류에서Dev

여러 서버에 소프트웨어를 설치할 수있는 중앙 설치 프로그램 빌드

분류에서Dev

루트가 아닌 사용자로 Ubuntu에 소프트웨어 설치

분류에서Dev

Codeswarm 소프트웨어 프로젝트 시각화 : 최신 64 비트 Linux 시스템에서 OpenGL 렌더링으로 어떻게 설정합니까?

분류에서Dev

명령 줄 자동 모드를 사용하여 소프트웨어 설치

분류에서Dev

우분투 소프트웨어 센터 설치와 명령 줄의 차이점

분류에서Dev

명령 줄에서 Java Eclipse 프로젝트 실행

분류에서Dev

명령 줄에서 닫힌 소스 소프트웨어를 설치하는 방법

분류에서Dev

나중에 설치하기 위해 소프트웨어 다운로드

분류에서Dev

Live USB에서 다운로드 한 소프트웨어 및 업데이트로 Ubuntu 설치

분류에서Dev

Live USB에서 다운로드 한 소프트웨어 및 업데이트로 Ubuntu 설치

분류에서Dev

시스템 설치 중 타사 소프트웨어 옵션에 대한 설명

분류에서Dev

시스템 설치 중 타사 소프트웨어 옵션에 대한 설명

분류에서Dev

C ++ 프로젝트의 Visual Studio 설치 프로젝트 끝에서 exe 시작

분류에서Dev

Ubuntu 설치 프로그램의 소프트웨어 선택 화면

Related 관련 기사

  1. 1

    sudo는 전역 적으로 설치된 소프트웨어에 액세스 할 수 없습니다.

  2. 2

    우분투 소프트웨어 및 "sudo snap install gimp"로 인해 김프 설치가 실패했습니다.

  3. 3

    java / play 프로젝트 내에서 heroku에 bower 설치 실행

  4. 4

    소프트웨어 센터와 apt-get으로 설치

  5. 5

    소프트웨어 RAID 10으로 Ubuntu 설치

  6. 6

    github에서 프로젝트 설치

  7. 7

    소프트웨어 설치 프로그램 생성

  8. 8

    소프트웨어 설치

  9. 9

    Core Java Swing 소프트웨어 설정

  10. 10

    그래픽 sudo 프롬프트를 sudo 명령으로 대체

  11. 11

    Ubuntu 소프트웨어 설치 프로그램의 소프트웨어 병렬 버전

  12. 12

    로컬 설치를위한 소프트웨어 센터 구성

  13. 13

    로컬 설치를위한 소프트웨어 센터 구성

  14. 14

    터미널로 설치된 소프트웨어 열기

  15. 15

    PowerShell DSC. 소프트웨어 다운로드 및 설치

  16. 16

    여러 서버에 소프트웨어를 설치할 수있는 중앙 설치 프로그램 빌드

  17. 17

    루트가 아닌 사용자로 Ubuntu에 소프트웨어 설치

  18. 18

    Codeswarm 소프트웨어 프로젝트 시각화 : 최신 64 비트 Linux 시스템에서 OpenGL 렌더링으로 어떻게 설정합니까?

  19. 19

    명령 줄 자동 모드를 사용하여 소프트웨어 설치

  20. 20

    우분투 소프트웨어 센터 설치와 명령 줄의 차이점

  21. 21

    명령 줄에서 Java Eclipse 프로젝트 실행

  22. 22

    명령 줄에서 닫힌 소스 소프트웨어를 설치하는 방법

  23. 23

    나중에 설치하기 위해 소프트웨어 다운로드

  24. 24

    Live USB에서 다운로드 한 소프트웨어 및 업데이트로 Ubuntu 설치

  25. 25

    Live USB에서 다운로드 한 소프트웨어 및 업데이트로 Ubuntu 설치

  26. 26

    시스템 설치 중 타사 소프트웨어 옵션에 대한 설명

  27. 27

    시스템 설치 중 타사 소프트웨어 옵션에 대한 설명

  28. 28

    C ++ 프로젝트의 Visual Studio 설치 프로젝트 끝에서 exe 시작

  29. 29

    Ubuntu 설치 프로그램의 소프트웨어 선택 화면

뜨겁다태그

보관