gnome-tweak-tool을 사용하여 Numix 테마를 체계적으로 설치하는 스크립트를 작성 중입니다.
이미 설치된 프로젝트를 다시 설치하지 않았는지 확인하고 싶어서 which [name of item] > /dev/null
.
이것은 내 현재 스크립트입니다.
function installNumix() {
echo "Checking if Numix is installed ..."
if ! which gnome-tweak-tool > /dev/null; then
if ! which numix-gtk-theme > /dev/null; then
if ! which numix-icon-theme-circle > /dev/null; then
echo "Installing Numix ..."
sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-gtk-theme numix-icon-theme-circle -y
sudo apt-get install gnome-tweak-tool -y
echo "Configuring Numix:"
echo "===================================================================="
echo "Please use the 'tweak-tool' to change your theme to 'Numix'."
echo "[GTK+]: Numix."
echo "[icons]: Numix-Circle."
echo "===================================================================="
gnome-tweak-tool
echo "Numix has been manually configured."
source ~/.profile
changeBackground backgrounds/background.png
changeProfilePicture $(whoami) profile_pictures/profile_picture.png
echo "The Numix has been installed."
sleep 5
fi
fi
else
echo "Numix has already been installed."
sleep 5
fi
}
내 .profile
파일:
#Change desktop background f(x)
#Ex. changeBackground /path/to/image.png
function changeBackground() {
FILE="file://$(readlink -f "$1")"
fileName="${FILE##*/}" # baseName + fileExtension
echo "Changing desktop background to: '$fileName' ..."
dconf write "/org/gnome/desktop/background/picture-uri" "'$FILE'"
echo "Desktop background has been changed."
sleep 5
}
#Change profile picture f(x)
#Ex. changeProfilePicture username /path/to/image.png
function changeProfilePicture() {
FILE="$(readlink -f "$2")"
fileName="${FILE##*/}" # baseName + fileExtension
echo "Checking if 'imagemagick' is installed ..."
if ! command brew ls --versions imagemagick >/dev/null 2>&1; then
echo "Installing 'imagemagick' ..."
brew install imagemagick -y
echo "'Imagemagick' has been installed."
sleep 5
else
echo "'Imagemagick' has already been installed."
sleep 5
fi
echo "Changing profile picture to: '$fileName' ..."
sudo mkdir -p '/var/lib/AccountsService/icons/'"$1"
sudo convert "$2" -set filename:f '/var/lib/AccountsService/icons/'"$1/%t" -resize 96x96 '%[filename:f].png'
echo "Profile picture has been changed."
sleep 5
}
답변1
gnome-tweak-tool
사용자가 수동으로 수행하도록 하는 대신 스크립트에서 gtk 및 창 관리자 테마와 아이콘 테마를 설정하는 데 사용할 수 있습니다 gsettings
. 예를 들어
gsettings set org.gnome.desktop.interface gtk-theme Numix
gsettings set org.gnome.desktop.wm.preferences theme Numix
gsettings set org.gnome.desktop.interface icon-theme Numix-Circle
그건 그렇고, 및 PATH 디렉토리 어딘가에 실행 파일이 numix-gtk-theme
없으면 실행해도 원하는 작업이 수행되지 않습니다.numix-icon-theme-circle
which
대신 특정 파일이나 디렉터리가 존재하는지 확인하세요. 예를 들어
if [ ! -d /usr/share/themes/Numix ] ; then ... fi
Numix 테마가 설치되어 있지 않아 이것이 올바른 디렉토리인지 알 수 없습니다. 검색할 올바른 디렉토리를 사용 dpkg -L numix-gtk-theme
하고 찾으십시오.dpkg -L numix-icon-theme-circle
또는 패키지가 설치되어 있는지 확인하지 않아도 됩니다. 빨리 달려:
apt-get -y install numix-gtk-theme numix-icon-theme-circle gnome-tweak-tool
(stdout 및 stderr을 /dev/null로 리디렉션하는 옵션)
이러한 패키지의 최신 버전이 이미 설치되어 있으면 apt-get
아무 작업도 수행되지 않습니다. 그렇지 않으면 설치 또는 업그레이드됩니다.
마지막으로, sudo add-apt-repository -y ppa:numix/ppa
사용할 때 사용자에게 메시지를 표시하지 마세요. 저장소가 추가된 경우 해를 끼치지 않습니다. 파일의 이전 항목을 주석 처리 /etc/sources.list.d/numix-ubuntu-ppa-yakkety.list
하고 파일 시작 부분에 ppa를 추가합니다.