개발자를 위한 새 기능

그놈 2.22 개발자 플랫폼은 외부 개발자들이 써드 파티 응용프로그램을 개발할 수 있는 안정적인 기반을 제공합니다. 그놈 및 그놈 플랫폼은 그놈 위에서 동작하는 자유소프트웨어 및 독점 소프트웨어를 허용하도록 라이센스되어 있습니다.

그놈 플랫폼의 라이브러리는 이후 2.x 릴리즈 기간 동안 API와 ABI 수준에서 호환될 수 있도록 보장됩니다. 그놈 데스크탑의 라이브러리의 경우 이러한 보장이 적용되지 않지만 대부분의 경우 릴리즈 사이의 일관성을 유지하고 있습니다.

6.1. GVFS및 GIO

GVFS는 SFTP, FTP, DAV, SMB, ObexFTP 등과 같은 백엔드를 가진 사용자 공간의 가상 파일시스템입니다. GVFS는 GNOME-VFS를 대체하게 됩니다. GNOME-VFS는 낡은 모듈로 취급되고, 개발자가 새 프로그램을 개발할 때 사용하지 않게 됩니다.

GVFS는 두개의 부분으로 이루어져 있습니다:

  • GIO는 GLib의 일부분인 공유라이브러리이며, GVFS에게 API를 제공합니다;
  • GVFS 자신은 SFTP, FTP, DAV, SMB, ObexFTP같은 여러가지 파일시스템 형식 및 프로토콜의 백엔드를 포함하는 새로운 패키지입니다.

GVFS/GIO는 현대적이고, 사용하기 쉬운 VFS시스템을 제공하는 것이 목적입니다. POSIX 입출력 API에 가까워지기 보다는, POSIX 입출력 호출을 바로 사용하는 것보다 개발자가 더 좋아할 만한 API를 제공하는 것이 최종 목적입니다.GVFS/GIO는 고수준의 문서 집중 인터페이스를 제공합니다. 또한 GIO는 파일의 읽기 쓰기 뿐만 아니라, 파일 감시, 비동기 입출력 및 파일이름 자동완성 기능도 지원합니다.

GVFS는 현재의 GVFS마운트를 계속해서 추적하는 하나의 주 데몬(gvfsd)가 실행되는 방식으로 동작합니다. 각각의 마운트는 분리된 데몬으로 동작됩니다(일부 마운트는 데몬 프로세스를 공유합니다만, 대부분은 그렇지 않습니다). 클라이언트는 (세션 버스에서 피어투 피어 D-BUS를 사용하여) D-BUS호출의 조합과 파일 내용을 위한 각각의 프로토콜로 통신을 하게됩니다. 백엔드를 외부 프로세스로 분리하였기 때문에 응용 프로그램과 의존성이 최소화되고 전체 시스템이 아주 견고하게 되었습니다.

또한 GVFS는 ~/.gvfs/에 FUSE 마운트위치를 제공하여서 표준 POSIX 입출력을 사용하는 구식 프로그램에서도 사용할 수 있습니다.

GNOME-VFS와는 다르게 GVFS의 연결은 상태를 유지합니다. 따라서 사용자가 각각의 연결에 암호를 따로 입력하지 않고, 한번만 입력하면 됩니다.

GVFS로 바뀌면서, 자동 마운트 및 자동 시작이 그놈 볼륨 관리자가 아닌, 노틸러스에서 직접 처리하게 됩니다.

GIO의 API문서는 POSIX입출력과 GNOME-VFS를 GIO로 옮기는데 필요한 안내서와 함께 온라인에서 찾아볼 수 있습니다.

6.1.1. 빠진 기능

GVFS는 GNOME-VFS에 있던 여라가지 많은 문제점을 해결했지만, 아직 몇몇 기능이 빠져있습니다. 특히 fonts://와 themes:// 주소를 사용할 수 없게되었습니다.

이러한 문제는 곧 수정이 될 것입니다. 또한 아직 몇몇 프로그램이 GVFS로 완전히 옮겨지지 않았습니다. 이러한 현황은 온라인 문서로 지켜볼 수 있습니다.

6.2. Anjuta 통합 개발 환경

Anjuta 통합 개발 환경은 GOME 개발 도구 모음의 일부분이 되었습니다. Anjuta는 개발자에게 통합된 디버거 및 통합된 Glade UI 편집기, Valgrind 인터페이스같은 여러가지 기능을 제공하는 통합 IDE 입니다.

그림 9Anjuta의 작업 목록