«GLMatrix»해킹

나를 위해 두 번째 게시물.. .. 나는 당신에게 (어떤 사람들은 상당히 쓸모 없다고 생각할 수있는 것) 색을 바꾸다 내가 가장 좋아하는 화면 보호기 (화면 보호기, 화면 보호기)의 xscreensaver, GL매트릭스, 당신이 모르는 경우 그것은 아름다운 3D 효과와 함께 매트릭스 스타일로 모니터를 통해 떨어지는 전형적인 기호의 시뮬레이터입니다. 다음은 이미지입니다.

내가 꽤 짜증나고 내 컴퓨터는 검정색과 특징적인 파란색으로 사용자 정의되어 있습니다. 아치 리눅스 (내 파란색 백라이트 키보드 xD로 멋지게 보입니다) .. .. 녹색 Matrix의 경우 저를 결합하지 않습니다 (또는 여기 주변과 어린이들 사이에서 말하듯이 점액에도 맞지 않습니다).

이를 달성하기 위해 우리는 참견하다 xscreensaver의 소스 코드에서 경험이없는 사람을 당황하지 마십시오. 간단합니다. 단계별 안내 그래서 그들은 그것을 달성합니다. 이것으로 나는 이미 씹은 것을 남겨 두지 않을 것이라고 말하고 싶습니다. 아이디어는 그들이 술을 마시고 손을..두려움없이.

참고 : 나는 전혀 전문가가 아니므로 내가하는 실수가 무엇이든 언제든지 알려주십시오.

해보자 ..

1- xscreensaver의 소스 코드를 다운로드하십시오.

xscreensaver 페이지에 들어갈 수 있습니다. 우리는 다운로드 최신 버전 소스 코드 (소스 코드).

www.jwz.org/xscreensaver/download.html

아니면 우리는 할 수 있습니다 직접 다운로드 에서 단말기wget, 항상 알고 그것의 버전,이 경우 5.20:

 $ wget http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz

압축을 풉니 다.

 $ tar -xf xscreensaver-5.20.tar.gz

 2- 종속성을 확인하십시오.

우리는 우리가 가지고 있는지 확인할 것입니다 필요한 패키지 xscreensaver를 사용할 수 있도록 이를 위해 우리는 'configure'를 사용할 것입니다.. 절대로 필요한 것 주의 출구에서 (출력) 우리가 일부 패키지가 없습니다, 또는 일부 오류. 패키지가 누락 된 경우 찾아서 다운로드하십시오 (취향과 배포판에 따라 synaptics, apt, pacman 등을 통해 가능).

-새로 압축이 풀린 폴더로 들어갑니다.

 $ cd xscreensaver-5.20/

다음을 실행합니다.

 $ ./configure

3- 올바른 작동을 확인합니다.

누락 된 패키지가 없거나 실수 하지마; 우리는 진행한다 설치 xscreensaver가 제대로 작동하는지 확인합니다.

우리는 다음을 실행합니다.

 $ make
참고 : make는 일반적으로 .c (코드)에서 모든 파일 a .o (실행 파일)를 생성하므로 패키지를 컴파일하기 때문에 일반적으로 몇 분 정도 걸립니다.

제조사에 오류가없는 경우 사용자로서 '뿌리' 우리는 그것을 설치합니다 :

 # make install
참고 : 아니 이 명령이 무엇을하는지 이해하지 못하는 분들을 위해 자세히 설명하겠습니다. 자세한 내용은 컴파일 및 Makefile을 참조하십시오.

우리는 다음을 테스트합니다.

 $ xscreensaver-demo

4- /hacks/glx/glmatrix.c 수정

그들은 그들의 텍스트 편집기 필자의 경우 가장 좋아하는 (vim, nano, gedit 등),이 경우 수정할 파일은 다음과 같습니다.

 $ vi ./hacks/glx/glmatrix.c

그들은 찾아야합니다 블록 다음과 함께 형태:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
g = 0xFF;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}

대략 760 행에 있지만 "a = g"를 검색하면 바로 찾을 수 있습니다.

Y 우리는 추가 다음과 같이 원하는 색상 :
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
r = 0x71;
g = 0x93;
b = 0xD1;

p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}

에있는 RGB XNUMX 진수 (빨강-녹색-파랑)

예를 들면, 특징적인 파란색 아치 리눅스 그는: #1793D1, 나머지 :

r=0x71;
g=0x93;
b = 0xD1;

우리는 변화들.

5- 우리는 수정 된 glmatrix로 새로운 xscreensaver를 다시 컴파일합니다.

이 시점에서 우리는 포인트 2하지만 이번에는 변경 사항을 캡처합니다.

우리는 다음을 실행합니다.

 $ make clean

그때:

 $ make

make에서 어떤 종류의 오류도 나오지 않으면 사용자로 '뿌리' 우리는 실행합니다 :

 # make install

6- 우리는 실행하고, 확인하고, 구성하고 즐깁니다.

우리는 다음을 실행합니다.

 $ xscreensaver-demo

목록에서 우리는 GL매트릭스:

GLMatrix 미리보기

그리고 프레젠테이션에서 이미 선택한 색상으로 표시되어야합니다.

참고 : 경우에 따라 미리보기와 실행시 변경 사항을 적용하려면 컴퓨터를 다시 시작해야 할 수 있습니다.

취향에 맞게 구성 .. 및 즐겨 😉

7- 다른 색상의 몇 가지 예. (+ 팁)

9 진수 색상 : # 03F9DXNUMX

41213 진수 색상 : # DXNUMX

5 진수 색상 : # E311EXNUMX

팁 : 아는 en 진수 나는 사용한다 김프, 우리는 색상 팔레트를 열고 "HTML 표기법". 'o'그리고 이미지의 색상을 가져와 Hex의 색상을 알 수 있습니다.

저만큼 즐겁게 글을 써보 셨으면 좋겠습니다. 궁금한 점이 있으시면 언제든지 상담해주세요.

해피 해킹 ..


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   데비안 멀린

    글쎄, 예쁘고 모든 것이지만 고전적인 녹색, 좋은 튜토 인사말과 같은 것은 없습니다.

    1.    RAW 기본

      의견을 보내 주셔서 감사합니다. .. .. 클래식이 클래식이라는 것이 분명합니다 ..

      그러나 이것에 대해 (적어도 나에게는) 가장 재미있는 점과 그렇게하게 된 계기는 .. .. 우리 앞에 소스 코드를 갖는 것이“저는 Linux가 있고 어떻게 바꾸고 싶은지 그것.. ..may l! .. "..

      읽어 주셔서 감사합니다 .. 😉

  2.   미스터 리눅스

    초급이나 화면 보호기처럼 단순한 주제에 대해 우리는 전체 클래스의 컴파일, 수정 및 설치를 가질 것이라고 상상했을 훌륭한 기사입니다.

    1.    RAW 기본

      감사합니다! .. .. 관심 있으셔서 감사합니다 ..

      나에게도 그것은 학습 오디세이였습니다.) ..

  3.   썩은 87

    사용하는 데 차이가 있습니까?

    $ sudo pacman -S x스크린세이버

    1.    RAW 기본

      .. .. 작동 여부를 확인하기 위해 포인트 2와 3을 참조하면 .. 귀하의 경우 Arch..yes를 사용하면 항상 최신 버전이 있으므로 동일합니다 .. ... . 그러나 다른 배포판의 경우 동일하지 않을 수 있습니다 ..

      반면에 .. 소스 코드를 다운로드하지 않으면 .. .. 색상 수정을 할 수 없었습니다. ..이 글의 목적입니다 ..

      내가 당신의 질문에 대답 했습니까?

      1.    썩은 87

        네 팁 감사합니다 ^ _ ^

  4.   라파GCG

    대단히 고마워!
    절차는 매우 흥미 롭습니다.

    안녕하십니까!

  5.   KZKG ^ 가아라

    기여해 주셔서 감사합니다 😀

  6.   대담한

    수정 된 모델을 빨간색으로 공유 할 수 있습니까? 감사