3

일부 유틸리티 (예 : 텔넷)를 투명한 래퍼 (로거)로 대체하려고합니다. 처음에는 별칭을 사용했지만 명령 줄에서 제대로 작동했지만 그놈은 셸 별칭을 이해하지 못하기 때문에 사람들이 그놈 터미널 프로필 용 셸로 유틸리티를 시작하면 래퍼 대신 실제 유틸리티가 실행됩니다.env 변수를 GNOME에 전달하는 방법

그럼 symlinks로 새 폴더를 추가하고 ~/.bashrc에서 PATH (보안은 엄청난 관심사가 아니라 특수 기호 폴더)에 미리 추가되었지만 여전히 원본을 실행합니다. gnome을 추측하는 것은 명령 행에서 작동하기 때문에 .bashrc를 실행하지 않습니다.) 설정 경로가 필요한 모든 아이디어?

+0

'.bashrc'를 다시로드하려면 로그 아웃하고 다시 로그인해야합니다. –

+0

다시 로그인했습니다. –

답변

0

내가 원하는 (gnome env 용 스크립트 소싱) 것처럼 작동하는 것으로 보이는 두 가지 방법이 있습니다.

처음 $ {HOME} /. gnomerc에 넣었습니다. (하지만 나중에 gnome 세션을 수동으로 실행해야한다고 말한 곳을 찾았습니다. 그렇지 않으면 괜찮 았을 것 같습니다.) 로그인을 깨는의.)

~/.profile에에서 퍼팅 그래서 난 그냥

echo 'PATH=~/.symlink_dir/:${PATH}' > ~/.profile 

(A는 ~/.bash_profile에 그렇게 수동으로 수행 할 수 있습니다 존재하는 경우이 bash에 의해 무시됩니다 작동하는 것 같다 그냥 ~/.bash_profile ~에서 소스를

echo 'source ~/.profile' >> ~/.bash_profile).

-1

교체 유틸리티를 실제로 사용하려면 /usr/bin/ (또는 해당되는 경우 어디에서든지)에 심볼릭 링크를 넣고 원본을 /usr/bin/originals/ (또는 어디든지)으로 옮길 수 있습니다.

이렇게하면 래퍼가 단단한 지 확인하는 것이 좋습니다. 대체 할 대상에 따라 오류로 인해 부팅이되지 않을 수 있으며 이는 일반적으로 바람직하지 않습니다.

+0

필자는 필사적이 아닌 한 패키지로 설치된 바이너리를 변경하지 않을 것입니다. 한 가지는 업데이트를 실행할 때 어떤 일이 발생합니까? –

1

어쩌면 update-alternatives가 필요에 맞을까요?

+0

나는 update-alternatives가 이미 관리하고있는 것을 관리하기 위해 더 많은 것이 있다고 생각했다. 패키지 시스템이 새로운 바이너리로 업데이트를 원할 때 어떤 일이 생기면 심볼릭 링크를 대체 할 것인가? (예 : update-alternatives를 통해 실제 링크로 전환 할 수있는 능력을 가진) 래퍼로 심볼릭 링크로 대체한다면? –

+0

@ RomanA.Taycher 당신의 시스템을 업데이트해도 아무런 문제가 없다고 생각합니다 : 예를 들어 나의 우분투 :'/ usr/bin/telnet ->/etc/alternatives/telnet'과'/ etc/alternatives/telnet - usr/bin/telnet.netkit'을 실행하십시오. 따라서 기본 텔넷 패키지를 업데이트 할 때'/ usr/bin/telnet.netkit'을 업데이트하고'alternatives '를 변경하면'/ etc/alternatives/telnet' 링크를 수정하게됩니다. – Lesque

+0

우분투에서 작동합니다. 이제 페도라에게 뭔가 찾을 수 있다면. –

-1

당신이 묻는 것이 아니지만 메뉴 편집기에서 실행 프로그램의 명령을 변경해 보았습니다.

Gnome 3을 사용하는 경우 alacarte 패키지를 다운로드해야합니다.

+1

. 래퍼 스크립트를 만들어서 /home/you/bin/telnet-wrapper.sh에 넣고 스크립트를 시작할 런처를 추가하면 어떨까요? –

+0

래퍼 스크립트를 사용하고 있습니다. 요점은 GNOME 용 PATH를 설정하여 그놈 터미널 프로필이 설치/업그레이드 스크립트를 실행하지 않고도 래퍼를 사용하도록하는 것입니다. –