필자는 인터페이스, 그놈 대 KDE 등을 제외하고 코드를 다시 작성하지 않고도 Linux 설치에서 실행할 수있는 응용 프로그램을 작성할 계획입니다.
나는 배포판 사이의 차이점에 대해 미숙 한 경험이 없으며 상호 작용을 위해 커널 내부를 파고 들지 않고 계획 단계에 들어갔 기 때문에 프로젝트에 대한 세부 정보를 제공 할 수 없습니다. 컴퓨터 하드웨어를 최대한 많이 사용합니다.
필자는 인터페이스, 그놈 대 KDE 등을 제외하고 코드를 다시 작성하지 않고도 Linux 설치에서 실행할 수있는 응용 프로그램을 작성할 계획입니다.
나는 배포판 사이의 차이점에 대해 미숙 한 경험이 없으며 상호 작용을 위해 커널 내부를 파고 들지 않고 계획 단계에 들어갔 기 때문에 프로젝트에 대한 세부 정보를 제공 할 수 없습니다. 컴퓨터 하드웨어를 최대한 많이 사용합니다.
답변:
개발시 명심해야 할 사항
pkg-config
대신 외부 패키지를 찾는 것과 같은 도구를 사용 하십시오.wxWidgets
실행 위치에 따라 기본 UI 요소를 렌더링 할 수있는 일부 프레임 워크를 사용하십시오 .응용 프로그램이 모든 배포에서 작동하도록하는 유일한 방법은 실제로 실행하고 테스트하는 것입니다. 이를 수행 할 수있는 한 가지 방법은 각 배포에 대한 가상 컴퓨터를 만드는 것입니다. 이를 위해 VirtualBox를 사용할 수 있습니다. 이런 종류의 테스트를 위해 상자에 약 8 개의 가상 머신이 있습니다.
각 배포판에서 서로 다른 패키지 설치 방법을 사용하기 때문에 응용 프로그램 배포에 대해 너무 많이 일반화 할 수 없다고 생각합니다. 데비안은 deb
페도라를 사용합니다 rpm
.
내장되지 않은 Linux 용으로 작성하는 경우, 배포판마다 라이브러리 버전 모음이 서로 다르다는 점을 명심해야합니다. 따라서 충분히 오래된 기준을 설정해야합니다. 데비안이 느리게 업데이트됨에 따라 데비안 안정 (또는 릴리스 후 몇 개월 내에 기존 안정판)이 합리적인 선택이되는 경향이 있습니다.
각 배포판에 대해 별도로 패키지해야합니다. 응용 프로그램이 오픈 소스이고 성공한 경우 다른 사람이 응용 프로그램을 선택하고 패키징에 기여할 수 있으므로 필수 기술이 아닙니다. 패키징 이외의 배포판 간 차이는 대부분 시스템 관리에 영향을 미치며 개발 또는 일일 사용에는 영향을 미치지 않습니다.
커널을 패치하려는 경우, 각 배포판에는 비 호환성을 유발할 수있는 자체 패치가 있고 각 배포판에는 사용 가능한 커널 인터페이스 세트 (예 : 요구 사항)에 따라 달라지는 사용자 설정이 있으므로 더 많은 배포판으로 테스트해야합니다. 일부는 모듈이 아니어야합니다).
임베디드 시스템 (여기서는 서버, 데스크탑 또는 랩톱이 아닌 것을 의미 함)에서 작동하도록 응용 프로그램을 원한다면 위의 내용은 사실이 아닙니다. 여기서 Linux 커널을 실행할 때 종종 일반적인 라이브러리가 없습니다. µClibc , dietlibc , Bionic 등 을 선호 하여 Glibc 을 피하는 것으로 시작
Linux Standards Base
특히 응용 프로그램에 서비스 (데몬)가 포함 된 경우이 기능이 유용 하다는 것을 알게되었습니다 . 다음 사이트 중 일부를 참조하십시오.
그러나 리소스로만 제한해야한다면 File Hierarchy Standard 일 수 있습니다 .
가장 중요한 것은 언어를 선택하는 것입니다. 이 언어는 어떤 언어로 실행됩니까? 리눅스 배포판에서 실행하고 싶다면 파이썬으로 작성할 수 있습니다. 리눅스에서 실행될 파이썬 앱은 기본적으로 수정없이 0으로 모든 리눅스 배포판에서 실행될 것입니다.
파이썬에는 GTK와 Qt 바인더가 정말 좋습니다. 나는 gtk와 함께 일한 적이 없지만 PyQt는 정말 훌륭합니다.
파이썬의 장점은 아마도 확장을 컴파일 할 필요가 없다는 것입니다 (완전히 작성중인 내용에 달려 있습니다. 필요한 경우에도 매우 간단합니다). . 거기에서 파이썬 프로그램을 설치하는 것은 일반적으로 배포 패키지 저장소보다 훨씬 쉽습니다.