질소로 배경 화면 자동 변경

얼마나 많은 분들이 "타일링 창 관리자"를 사용 하시나요? 그리고 잠시 후 우리의 배경 화면이 우리를 지루하게 만드 셨나요? 간단한 배경 화면을 변경하거나 "질소"를 다시 실행하여 다른 매개 변수를 전달하기 위해 재 컴파일해야하는 것은 매우 성가신 일입니다.

음, 오늘은 bash 스크립트를 가져 왔습니다. 컬렉션에서 임의의 이미지를 가져와 배경 화면으로 넣습니다. 질소 배경 화면 변경, 스크립트를 다운로드 한 경우 여기에 파일에서 .txt 확장자를 제거하고 실행 권한을 부여하는 것을 잊지 마십시오.

디렉토리 = ~ / 이미지 함수 my_resolution () {res =`xrandr | grep '*'| grep -o -E '[0-9] + x [0-9] +'`my_high =`echo "$ res"| cut -d "x"-f 2` my_width =`echo "$ res"| cut -d "x"-f 1`} function rand_image () {image =`ls -1 -b -R "$ directory"| grep -i -e ".png"-e ".jpg"-e ".jpeg"| 정렬-무작위 정렬 | head -1` image_dir =`find "$ directory"-iname "$ image"`} function image_resolution () {rand_image high_image =`identify -format "% h" "$ image_dir"`wide_image =`identify -format "% w ""$ image_dir "`} 함수 비율 () {my_resolution 이미지 _ 해상도 높이 _proportion =`echo $ image_high / $ my_high | bc -l` ratio_width =`echo $ image_width / $ my_width | bc -l`} function scalar () {proportion if [`echo "$ ratio_high> 1"| bc` -eq 1 -o` echo "$ ratio_width> 1"| bc` -eq 1]; then 질소 --set-zoom "$ image_dir"else 질소 --set-centered "$ image_dir"fi} scale exit

이제 스크립트에 대한 설명이 제공됩니다.
디렉토리 = ~ / 이미지 // 배경 화면이있는 디렉토리로 변경합니다.

image_resolution () //이 함수는 모니터의 해상도를 감지하여 변수에 저장합니다.
my_high //높은
my_width //폭

rand_image () //이 함수는 "디렉토리"안에 이미지를 가져옵니다.

이미지 =`ls -1 -b -R "$ 디렉토리"| grep -i -e ".png"-e ".jpg"-e ".jpeg"| 정렬 – 무작위 정렬 | 머리 -1`

중대한! "확장자".png, .jpg, .jpeg가 포함 된 모든 파일을 필터링하고 있음을 확인한 경우. -e ".extension"을 적절하게 추가하십시오.

예 :

imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`

image_resolution () //이 함수는 rand_image () 함수로 얻은 이미지의 해상도를 얻습니다.

비율() //이 함수는 image_resolution / screen_resolution 비율을 가져옵니다.

상승() //이 함수는 이미지가 모니터의 해상도보다 큰 경우 이미지를 조정하고 배경 화면을 설정합니다.

이제 질소에 임의의 벽지를 할당하는 스크립트가 생겼으므로 (또한 이미지가 모니터에 맞게 조정 됨) 스크립트를 자주 실행하면됩니다. 시작시 다음 명령을 실행하면됩니다.

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

이 경우이 명령은 4 초마다 실행됩니다. path_where_the_script_is_found는 스크립트가있는 전체 경로이고 script_name은 스크립트에 지정된 이름입니다.

도움이 되셨기를 바랍니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

9 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

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

*

*

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

  1.   KZKG ^ 가아라

    이 Nitrogen에서 내가하고 싶은 KDE 스크립트를 확인하겠습니다. :)
    그렇지 않으면 좋은 게시물 ... hahahaha, 게시물을 위해 선택한 훌륭한 사진 (스누피 LOL !!!)

    1.    알프스

      Jjajajajjajajaja 감사합니다, 참으로 스누피 추첨, hahajjajajajjajaj

  2.   st0rmt4il

    주셔서 감사합니다 ..

  3.  

    감사합니다

  4.   Ferchmetal

    감사합니다!

  5.   이지브프

    계피에는 안 돼?

    1.    알프스

      계피에서 배경 화면을 변경하는 방법을 모르겠지만 확실한 것은 rand_image 함수가 임의의 이미지를 얻는 데 사용되므로 전달하면됩니다. $ dir_image
      조사하겠습니다

  6.   + AMEM +

    고마워요, 후대를 위해 조금 수정 했어요 ...
    당신의 생각을 알고 싶습니다. 언어에 대해 잘 모릅니다.

    #! / bin / bash

    # ~ 원저자
    #~
    # ~ halonsov : 수학자, GNU / LINUX 애호가, 프로그래머, Debian 및 xmonad 사용자.
    #~
    # ~ 참조
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ 120 초마다 스크립트를 실행하는 명령
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ 협업
    # ~ + AMEM +
    # ~ 개인적으로는 공간을 사용하지 않기 위해 한 번만 사용하는 것을 선호합니다
    # ~ autostart.sh에 추가
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ 개인 메모
    # ~이 스크립트는 원래 halonsov에 의해 만들어졌습니다.
    # ~ #CrunchBang 시작 부분에서 실행하도록 조금만 수정했습니다!
    # ~ 목적은 디스크에있는 모든 이미지를 볼 수 있다는 것입니다.
    # ~ 자주, 그리고 그들은 속성에 따라 화면에 조정됩니다.
    # ~이 스크립트는 모니터의 특성을 식별합니다.
    # ~ 및«디렉토리»의 이미지 또는 사진,
    # ~ 질소 + 스케일링 또는 줌 매개 변수를 실행하기 위해
    # ~ 길쭉한 픽셀 화 된 이미지.
    # ~이 스크립트가 필요에 맞지 않는 경우 매개 변수를 수정할 수 있습니다.
    # ~ 예 : 질소 – 세트 중심
    # ~ 크기 조정없이 이미지 중앙에 위치
    # ~ 질소 매뉴얼을 공부하는 것이 좋습니다.

    #예배 규칙서
    # 하위 디렉토리를 포함하여 배경 화면으로 사용할 이미지 디렉토리
    # 배경 화면이있는 디렉토리로 변경
    # 예 : 디렉토리 = / 홈 /… / 이미지
    디렉토리 = / 홈 / amem / 이미지 / 배경 화면

    # 모니터 해상도
    #이 함수는 모니터의 해상도를 감지하여 변수에 저장합니다.
    my_resolution 함수 ()
    {
    #xrandr로 모니터의 해상도를 얻습니다.
    res =`xrandr | grep '*'| grep -o -E '[0-9] + x [0-9] +'`
    # 모니터 높이
    my_high =`echo "$ res"| 잘라 내기 -d "x"-f 2`
    # 모니터 너비
    my_width =`echo "$ res"| 잘라 내기 -d "x"-f 1`
    }

    # 랜덤 이미지
    #이 함수는 "디렉토리"안에 이미지를 가져옵니다.
    rand_image 함수 ()
    {
    # $ 디렉토리 안에 이미지 이름을 얻습니다.
    이미지 =`ls -1 -b -R "$ 디렉토리"| grep -i -e ".png"-e ".jpg"-e ".jpeg"| 정렬 – 무작위 정렬 | 머리 -1`

    #중대한! "확장자".png, .jpg, .jpeg가 포함 된 모든 파일을 필터링하고 있음을 확인한 경우. -e ".extension"을 적절하게 추가하십시오.
    #예:
    # 이미지 =`ls -1 -b -R "$ 디렉토리"| grep -i -e ".png"-e ".jpg"-e ".jpeg"-e ".new_extension"| 정렬 – 무작위 정렬 | 머리 -1`

    # $ 이미지의 경로를 얻습니다
    image_dir =`find "$ 디렉토리"-iname "$ image"`
    }

    # 이미지 해상도
    #이 함수는 rand_imagen () 함수로 얻은 이미지의 해상도를 얻습니다.
    function image_resolution ()
    {
    rand_image
    # $ 이미지의 높이를 얻습니다
    high_image =`identify -format "% h" "$ image_dir"`
    # $ 이미지의 너비를 얻습니다.
    image_width =`identify -format "% w" "$ image_dir"`
    }

    # 이미지 해상도 / 화면 해상도 비율을 얻습니다.
    #이 나눗셈의 결과는 1보다 크거나 작은 값을 반환합니다.
    # 비율 1 이미지가 화면보다 큽니다.
    함수 비율 ()
    {
    my_resolution
    이미지 해상도
    ratio_high =`echo $ image_high / $ my_high | bc -l`
    width_proportion =`echo $ width_image / $ my_width | bc -l`
    }

    # image_high / image_width 비율을 얻습니다.
    #이 나눗셈의 결과는 1보다 크거나 작은 값을 반환합니다. 이미지가 정사각형이 아니면 Oo
    # image_proportion 1 이미지가 너비보다 더 큽니다.
    기능 이미지 비율 ()
    {
    이미지 해상도
    ratio_image_rate =`echo $ tall_image / $ wide_image | bc -l`
    }

    # 배경 화면 설정
    #이 기능은 모니터와 관련된 이미지의 속성에 따라 질소 매개 변수를 수정합니다.
    # 이미지가 화면보다 크거나 너무 크거나 이미지 크기를 조정하여 배경 화면을 설정합니다.
    # – 설정 중심은 크기가 조정되지 않은 이미지를 중앙에 배치합니다.
    # – Set-scaled는 뒤틀린 이미지로 화면을 채 웁니다.
    # –Set-zoom은 화면을 상단까지 확대 된 이미지로 채 웁니다.
    # –Set-zoom-fill은 크기가 조정 된 이미지로 화면을 채 웁니다.
    스칼라 함수 ()
    {
    비율
    if [`echo "$ width_proportion> 1 ″ | bc` -eq 1]; 그때
    # 이미지의 해상도가 우리 화면의 해상도보다 크면 ...
    질소 – 세트 스케일 "$ image_dir"
    그렇지 않으면
    if [`echo "$ high_rate> 1 ″ | bc` -eq 1]; 그때
    # 이미지의 해상도가 우리 화면의 해상도보다 작 으면 ...
    질소 – 세트 중심 "$ image_dir"
    그렇지 않으면
    # 이미지가 화면보다 작 으면 길이나 너비로 확장 할 수 있습니다.
    이미지 비율
    if [`echo«$ ratioimage_reason> 1 ″ | bc` -eq 1]; 그때
    # 이미지의 높이가 화면의 높이보다 작 으면 ...
    질소 –set-zoom "$ image_dir"
    그렇지 않으면
    if [`echo«$ ratioimage_reason <1 "| bc` -eq 1]; 다음
    # 이미지의 너비가 화면의 너비보다 작 으면 ...
    질소 –set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    오르다

    출구

    1.    할론 소 V

      우수. 감사합니다.