문제

현재 Windows 및 Mac OS X에서 실행되는 게임이 있으며 Linux에서 사용할 수 있도록하고 싶습니다. Porting은 Java 기반 게임이므로 3 개의 플랫폼 모두에서 사용할 수있는 휴대용 라이브러리를 사용하기 때문에 매우 쉬워야합니다.

이 질문의 어려운 부분과 이유는 가능한 많은 최신 Linux 배포판에서 작동하도록 포장하기 때문입니다. 주요 목표는 우분투 9입니다.

WebStart는 허용 가능한 방법이 아닙니다. .tar.gz는 최후의 수단입니다. 나는 종속성 (예 : Java)을 올바르게 정의하고 쉽게 설치 한 패키지를 선호합니다.

빌드 체인의 일부 도구는 Windows 전용이므로 Windows 환경에서 패키지를 구축 할 수 있어야합니다.

도움이 되었습니까?

해결책

비슷한 프로젝트가 어떻게이를 달성했는지 살펴보십시오. 떠오르는 것은 마음에 들었습니다 프라이콜, 크로스 플랫폼 Java 기반 게임. 그들의 페이지 다운로드 여러 플랫폼에 설치에 대한 정보가 상당히 명확합니다. 또한 사이트에서도 사용할 수있는 패키지가 있습니다 getdeb 우분투와 행상인 OpenSuse를 위해.

일반적으로 가능한 한 많은 배포판을 치고 싶다면 고려해야 할 형식은 다음과 같습니다.

  1. ubuntu .deb (가능하면 저장소를 만듭니다)
  2. OpenSuse .rpm 또는 .ypm (1 클릭 설치)
  3. 페도라 .rpm
  4. .tar.gz 사전 컴파일 된 패키지

그런 다음 소스 옵션 또는 최선의 노력 바이너리 설치 프로그램의 빌드. 마지막으로 Debian, Mandriva 및 BSDS와 같은 다른 인기 배포판을보십시오.

특정 플랫폼에 대한 패키지가 존재하면 해당 배포를 수락하는 것을 고려할 수 있습니다. 이를 통해 사용자가 쉽게 찾아 획득 할 수 있습니다. 우분투 프로세스에 대한 정보는 다음을 참조하십시오.

(편집 : Jonik의 제안 덕분에 더 나은 목록.)

다른 팁

Zero Install을 살펴보십시오 (http://0install.net/).

  • 누구나 소프트웨어를 설치할 수 있습니다

워드 프로세서를 설치하기 위해 관리자 일 필요는 없습니다 [more

  • 누구나 소프트웨어를 배포 할 수 있습니다

제로 설치의 일부가되기 위해 배포 (또는 다른 사람)에 의해 축복받을 필요는 없습니다. 시스템은 완전히 분산되어 있습니다 [more

  • 자동 업데이트

업데이트를 사용할 수 있으면 Zero Install이 [more]에게 알립니다.

  • 보안

한 사용자가 악의적 인 프로그램을 다운로드하는 경우 다른 사용자는 영향을받지 않습니다. 사용자는 서로를 신뢰하지 않고 다운로드를 공유 할 수 있습니다. 설치는 다운로드 된 코드를 실행하지 않습니다. 새로운 소프트웨어가 R이되기 전에 디지털 서명은 항상 확인됩니다.

우분투에 Deb 시스템을 사용할 수 있습니다. 올바르게 의존성을 표시하는 데 도움이됩니다.

포장 안내서를 사용할 수 있습니다 여기.

좋은 질문 - 답을 모르고 (그리고 쉽고 포괄적 인 솔루션이 없다고 생각합니다) Linux 사용자의 관점에서 고려해야 할 사항이 있습니다.

.tar.gz (또는 .tar.bz2)가 반드시 그렇게 나쁘지는 않다고 생각합니다. Linux 사용자는 이에 익숙해지며 예를 들어 많은 상용 소프트웨어 패키지가 배포됩니다. 요점이 일부 위치에서 파일을 추출하는 것이면 그래픽 Windows 스타일 설치 프로그램을이기는 경우가 종종 있습니다.

일부 (아마도 많은가?) 사용자는 패키지 관리 시스템 외부에 JRE를 설치 했으므로 RPM 또는 DEB (RPM 또는 DEB로 JRE를 설치 한 경우) 만 제공하는 것은 문제가 될 수 있습니다. (개인적으로 나는 여러 개의 JRE 버전 (실제로 JDK)이 아래에 설치되는 것을 선호합니다. /usr/local/java.) 따라서 적어도 다른 옵션과 함께 ZIP/GZ/BZ2 패키지를 제공하는 것을 고려하십시오.

또한 Java 소프트웨어의 RPM 패키지 작성에 대해 알아 보려면 살펴보십시오. Jpackage.

각 배포판에는 공통 파일이 어디로 가는지에 대한 자체 규칙이있을 수 있습니다.
우분투에서는 일반적인 Java Jars가/usr/share/java로 들어갑니다. Commons-Cli 및 Liblog4J와 같은 것들이 존재합니다. 이 중 하나를 사용하는 경우 DEB가 적절한 패키지에 의존하는지 확인하십시오. 라이브러리가 사용하는 경우 Ubuntu Repos에서는 응용 프로그램을 Outisde로 사용하는 경우 자체 Deb에 넣고이를 고려하십시오. /usr/share/[name]/의 특정 게임 jars 용 폴더를 만들고 게임을 시작하려면 쉘 스크립트를 만들어야합니다. 이 스크립트는 /usr /bin (또는 /usr /games)에 배치되어야하며 실행 가능해야합니다.

적절한 Java 패키지에 의존하는 것을 잊지 마십시오 (나는 Sun-Java#-jre 패키지 '가 gjc가 쓰레기이고 Open-JDK가 아직 100%가 아니기 때문에 (적어도 금속 LAF는 fubar, i don. '아직 다른 것에 대해 알고 있습니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top