다음 이전 차례

5. StarOffice 팁

이 팁을 제공해 주신 분 : Patrick D'Cruze ( pdcruze@netpal.com.au)

1. .bash_profile에서 .sd.sh(혹은 .sd.csh) 파일을 소싱하는 대신 .sd.sh 스크립트를 복사하고 이름을 swriter로 바꾼 다음 /usr/local/bin 디렉토리로 복사한다. 그런 다음 스크립트 시작 부분에 다음 라인을 추가한다.

#! /bin/bash

그리고 스크립트 끝 부분에는 다음 라인을 추가한다.

exec swriter3 $*

이렇게 하면, swriter를 실행시키기만 하면 적절한 환경 변수들이 적절하게 설정된 다음 StarWriter가 실행된다.

Saves having those environment variables pollute other applications/environments.

2. 대개의 경우 StarOffice를 로드하려면 거의 60초 이상의 시간이 걸린다. 유즈넷에 올라온 의견들 중 대다수가, 이렇게 로드 시간이 오래 걸리는 것은, 동적 링커(linker)가 심볼 재배치를 하는데 시간이 오래 걸리기 때문이라고 한다. 즉 각 심볼마다 동적 링커가 그에 맞는 라이브러리를 할당해야 하기 때문에 오래 시간이 걸리는 것이다. StarOffice에서는 몇 개의 라이브러를 동적으로 링크시켜야 하기 때문에 동적 링커가 수많은 라이브러리들 중 적당한 것을 검색하는데 많은 시간을 소비하게 된다.

이 문제에 대한 해결책이 있다. 나는 StarOffice를 chroot'd jail에서 실행시킨다. 그리고 이 jail에는 StarOffice가 실제로 사용하는 바이너리와 라이브러리만 넣어둔다(/usr/X11R6/lib, libc/libm, 그리고 libg++/libstdc++의 모든 라이브러리들). 그러면 펜티엄 133/32메가의 시스템에서 StarWriter를 실행시키면 약 15초 안에 뜬다. 그 이유는 StarOffice가 필요로 하는 라이브러리들만 존재하기 때문에 동적 링커가 시스템상의 모든 라이브러리를 검색하는 것이 비하면 그 시간이 훨씬 단축되기 때문이다(즉 불필요하게 /usr/lib 등과 같은 디렉토리들을 검색하지 않아도 되기 때문이다).


다음 이전 차례