간단한 웹 브라우저를 실행하기 위해 사용자 정의 배포판을 구축하는 방법은 무엇입니까?

간단한 웹 브라우저를 실행하기 위해 사용자 정의 배포판을 구축하는 방법은 무엇입니까?

우리는 큰 화면에 단일 웹 페이지를 표시하려는 명시적인 목적을 가진 몇 가지 경량 시스템을 구성하고 있습니다. 나는 컴퓨터가 본질적으로 가볍고 부팅 속도가 빨라야 하며 기본적으로 전체 화면에서 브라우저(WebKit?)를 실행하여 JavaScript에 의해 동적으로 제어되는 페이지를 로드해야 합니다. GPU가 통합된 Intel D525 듀얼 코어 프로세서를 사용할 예정이므로 독점 그래픽 드라이버를 설정할 필요가 없습니다. 머신 중 하나를 올바르게 설정하고 나면 dd하드 드라이브를 컴퓨터에 마운트한 다음 이를 각각의 새 머신에 덤프할 수 있어야 합니다.

다음과 같은 질문이 있습니다.

  1. 필요한 것만 포함된 "배포판"을 어떻게 만듭니까? 커널(;]), X, 그리고 어떤 종류의 웹 브라우저가 필요할 것 같지만 그 외에는 많지 않습니다. Ubuntu Server와 같은 것을 사용하여 X Server를 설치하고 컴퓨터가 자동으로 로그인하고 X를 시작하고 질문 없이 웹 브라우저를 시작하도록 하는 방법을 찾을 수 있습니까? 제가 읽을 수 있는 책이나 기사가 있나요?

  2. 기본적으로 "크롬리스 Chromium"을 실행하는 멋지고 간단한 웹 브라우저를 만들려면 무엇을 사용할 수 있나요? 이러한 기계는 사용자 입력을 전혀 받아들이지 않습니다. 관리해야 한다면 SSH를 사용하겠습니다.

답변1

많은 배포판에는 최소 설치를 위한 몇 가지 도구가 있습니다. 기본적으로 명시적으로 설치하려는 패키지만 수동으로 선택합니다. Debian에는 이 기능이 있으며 귀하의 경우에는 다른 명백한 최소 경쟁자인 Arch Linux보다 더 나은 선택이 될 것입니다.

Arch의 롤링 릴리스 상태는 피하고 싶은 지속적인 복잡성을 제공할 수 있습니다. 데비안은 여러분이 찾고 있는 단순하고 최소한의 기반을 제공하고 안정성을 제공할 것입니다. 사용에 대한 블로그 게시물이 있습니다.키오스크로서의 데비안이는 몇 가지 유용한 팁을 제공할 수 있습니다.

다음과 같은 브라우저의 경우beav_35제안,우즈푸르좋은 선택입니다. 내 제안은빔파서블, 스크립트 가능하고 키보드 기반이며 SSH를 통해 효과적으로 제어되는 WebKit 브라우저입니다.

창 관리자로서 추천하고 싶습니다데이터 관리: 2000 SLOC 이하로 매우 가벼우며 키오스크형 설치에 용이하게 구성됩니다.

답변2

우선, 아마도 바퀴를 재발명하고 싶지 않을 것입니다. 시중에는 키오스크 중심 배포판이 여러 개 있습니다. 이 중 하나를 사용하면 많은 작업을 줄일 수 있습니다.

둘째, RHEL(또는 CentOS 또는 Scientific Linux)의 Fedora 및 Kickstart에 익숙하다면 Fedora 도구를 사용하여 이러한 배포판에 대해 자신만의 도구를 만들 수 있습니다. 설명서가 좀 엉성하지만여기서부터 시작해.

답변3

최소한의 배포로 시작하세요.아키텍처Linux을 클릭한 다음 필요한 패키지를 설치하세요. 간단한 웹 브라우저의 경우 다음을 시도하십시오.우즈푸르.

답변4

빌드루트 2016.05 + 미도리

루트 구축최소 배포판을 구축하기 위한 훌륭한 도구:

  • .config파일 을 주시면 됩니다
  • 필요한 모든 소프트웨어와 종속성을 다운로드 및 컴파일하고 이미지를 생성합니다.

녹색간결한네트워크 툴킷브라우저 기반이며 Buildroot에는 Midori 패키지가 내장되어 있습니다.

.config사용된 파일:https://github.com/cirosantilli/buildroot-configs/blob/32d1174e0bf8d00b92323eebe8901af3f8c389d3/2016.05/qemu_x86_64_x11_midori_defconfig

이 구성 파일을 생성하는 방법:

  1. 따르다:내 Linux Buildroot 시스템에 X11을 어떻게 설치합니까? Unix 및 Linux 스택 교환 |X11을 사용하여 이미지를 만듭니다.
  2. make menuconfig
    1. 도구 체인
      1. C 라이브러리
        1. glibc(미도리용)
    2. 대상 패키지
      1. 그래픽 라이브러리 및 애플리케이션
        1. mesa3d
          1. OpenGL EGL의 경우 어떤 드라이버가 필요한지 알 수 없으므로 모든 Gallium 및 DRI 드라이버를 선택하세요.
          2. OpenGL EGL(libgtk3용)
      2. 도서관
        1. graphic1.libgtk3(미도리용)

툴체인을 변경한 이후 빌드를 정리하고 다시 빌드합니다.

rm -rf output
make BR2_JLEVEL=$(nproc)

몇 시간 정도 기다리십시오. 그리고 평소에는 다음과 같습니다.

qemu-system-x86_64 \
    -enable-kvm \
    -M pc \
    -m 512 \
    -kernel output/images/bzImage \
    -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
    -append root=/dev/vda \
    -net nic,model=virtio \
    -net user

QEMU 내에서:

root
startx

X11 GUI에서 xterm창을 클릭하고 다음을 실행합니다.

midori

결과:

여기에 이미지 설명을 입력하세요.

이미지 크기: 220M! 베어 X11 시스템의 28M과 비교내 Linux Buildroot 시스템에 X11을 어떻게 설치합니까? - Unix 및 Linux 스택 교환. 아마도 WebKit + GTK3 종속성 때문일 것입니다.

Ubuntu 16.04 호스트, QEMU 2.5.0에서 테스트되었습니다.

인터넷 서핑

SDL로 작성되었으며 fbdev를 지원합니다.http://www.netsurf-browser.org/about/screenshots/#framebuffer

fbdev는 X11을 통하지 않고 Linux 커널 모듈에서 제공하는 하위 수준 인터페이스입니다(X11에는 이를 백엔드로 사용할 수 있는 옵션이 있다고 생각합니다). 기본적으로 메모리에 쓰고 화면에 표시하기만 하면 됩니다.

Ubuntu에서 fbdev를 사용하려면 TTY(예: Ctrl + Alt + F1)를 사용해야 합니다.

그래서 당신은 아마도 이미지와 함께 탈출할 수 있을 것입니다방법미도리보다 작다.

이를 제공해야 하는 Buildroot 2016.05용 패키지가 있지만 netsurf-buildsystem아직 테스트하지 않았습니다. 누구든지 실행하게 되면 .config, 스크린샷 및 이미지 크기 링크를 편집하세요.

관련 정보