나는 수십 년 동안 /usr/bin/startx를 무시해 온 여기 주변의 누군가가 그것이 제공하는 작업에 대해 100% 만족감을 느꼈을 것이라고 확신합니다.
작동한다면... 고치지 마세요!
그러나 스크립트 작성자는 분명합니다.
사이트 관리자는 더 나은 버전을 작성하도록 강력히 권장됩니다.
나는 단지 궁금하다:
- 저자가 그토록 강력한 성명을 쓰게 된 역사적 이유가 무엇인지 아는 사람이 있습니까?
- "라고 쓴 사람이 있나요?더 나은 버전", 어떻게, 왜?
참고: 이 질문은 의견 기반 답변을 유발하기 때문에 종료해 달라는 요청을 많이 보았습니다.
나는 어떻게 이해한다"더 나은"예선은 취향 판단을 제안할 수 있지만 저자는 상상할 수 없습니다.”강력히 촉구하다” 관리자는 미적인 변화를 해야 합니다.
클라이언트/서버 매개변수 강제 적용, user.*rc 존중/무시, /usr/bin/xinit 이외의 다른 항목 포크까지 이 스크립트의 많은 내용이 변경될 수 있습니다.
특히 보안 세계에서 이 모든 조작과 상상조차 할 수 없는 더 많은 작업은 확실히 완벽하게 합리적인 동기와 특정 사용 사례의 목적에 맞는지에 달려 있습니다. 이것이 바로 이 질문의 목적입니다.
답변1
startx
에게 소개되었다X11R3, 1988년에 다음과 같이로그 항목 변경:
적절한 시스템에 대한 조건이 포함된 샘플 startx 스크립트를 추가했습니다.
xinit
이에 따라 사용자별 스크립트 지원, 서버와 클라이언트를 별도로 실행하는 스크립트 지원 등 .xserverrc
시스템 .xinitrc
이 많이 개선되었습니다 .
startx
그 밖에 수행되는 작업은 많지 않습니다. 시스템 전체 xserverrc
및 xinitrc
스크립팅에 대한 지원을 추가하고(자체에 쉽게 추가할 수 있음 xinit
) A/UX Macintosh II 시스템(R3에서 새로 지원됨) 및 Sun 시스템에서 자체적으로 정리됩니다.
당시 많은 시스템에는 서버를 시작하거나 클라이언트의 기본 세트를 시작하기 위해 자체 X 시작 스크립트가 있었습니다. X11R2의 시작 스크립트는 xinit
간단했고 적어도 다음에서 제공하는 래퍼 스크립트로 사용자 정의(또는 완전히 교체)해야 했기 때문입니다. 시스템 제조업체(예를 들어 openwin
Sun 시스템의 경우) 또는 로컬 시스템 관리자가 수행합니다. startx
실제로는 1980년대 후반과 1990년대 초반에 시스템 관리자가 제공한 매우 간단한 시스템별 시작 스크립트 템플릿입니다.많은로컬 콘텐츠(스크립트, 매뉴얼 페이지 등)
startx
했다xserverrc
로컬 및 xinitrc
스크립팅을 제공하여 실행 사용자 정의를 완전히 처리할 수 있으므로 많은 경우 변경이 필요하지 않을 만큼 충분한 기능이 포함되어 있습니다. 그 저자는 아마도 많은 시스템 관리자가가지다더 나은 버전을 사용하거나 지역적 제약과 선호도를 반영하여 더 나은 버전을 "쉽게" 작성할 수 있습니다.예를 들어많은 시스템 관리자가아니요사용자가 자신만의 .xserverrc
.
일반적인 변경 사항 중 하나는 스크립트에 더 많은 정리 기능을 추가하는 것입니다.예를 들어잘못된 Netscape Navigator 프로세스를 종료합니다(적어도 SPARCstation에서는 Netscape Navigator 4.78이 종료되지 않는 경향이 있지만 X11 서버와의 연결이 끊어지면 긴밀한 루프에 들어갑니다).
나는 그러한 스크립트의 아카이브를 가지고 있지 않지만 기본 버전보다 "로컬 사용에 더 적합"하다는 것과 같이 더 나은 버전, "더 나은" 버전이 있습니다. Linux 배포판에는 종종 startx
패치가 함께 제공됩니다.예를 들어 이것은 데비안에서. 최근의,sx
xinit
startx
많은 개선 사항(하드코딩된 서버 시작, 더 나은 xauth
처리, 더 예측 가능한 tty 처리)을 대체합니다 . startx
그 자체는 수년에 걸쳐 많이 바뀌었지만 "사이트 관리자는 더 나은 버전을 작성할 것을 강력히 촉구합니다." 댓글은 삭제되지 않았지만 그 이유는 점차 삭제되었습니다.
startx
가 되다견본변경 로그에서 언급했듯이 이는 X11 배포판의 나머지 부분과 일치합니다. 예를 들어 X 서버는 "예제 서버"로 설명되며 많은 제조업체는 이를 기반으로 자체 구현을 제공합니다.
이 릴리스에 제공된 서버, 라이브러리 및 애플리케이션은 참조 구현이 아닌 예제입니다.
(인용하다X11R4 릴리스 노트; 엄밀히 말하면, 이는 이 구현이 실제 표준이 아니라 참조로 사용되어서는 안 된다는 것을 의미해야 합니다.