關於桌布切換軟體 variety [論壇 - Ubuntu 與工具程式及軟體推薦]
正在瀏覽:
1 名遊客
關於桌布切換軟體 variety |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2017/5/27 21:44 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 15
![]() |
variety, 這是一個可以讓 ubuntu 桌面也能像 windows 桌面一樣,能設定時間自動切換桌布的軟體。
OS: Ubuntu 16.04 LTS (64-bit) Memory: 8G CPU: i7-4770 @ 3.40GHz x 8 接下來我說的都僅僅只是猜測,板上若有高人知悉細節懇請大力指正。 自從我裝了這個東西以後,系統常常不定時發生內部錯誤,但是錯誤的細節都跟 variety 無關。 由於個人使用需要,在過去一段短時間內,我裝了很多軟體/套件,因此此時我還是搞不懂為什麼系統這麼容易出錯?甚至到這幾天,開始出現資料夾無法開啟、teamviewer無法啟動,wine閃退,chrome-line無法啟動等等莫名現象,狀況真的太多,族繁不及備載。 既然發生這麼多問題,我就決定把一些近期內少用的軟體、非必要的套件,開始一個一個刪掉。 刪除的過程中,非常卡頓,特別是在桌面切換的那短暫幾秒,此時我才想到有可能是 variety 的問題... > 為了驗證是否是它出的包,我先重新啟動電腦。 (此時我已經砍掉了 wine、chrome-line、shutter、pycharm、teamviewer、chrome) > 開機後,我試著以系統原有的 firefox 瀏覽網頁,正常。 > 接著我又試著開啟資料夾,發現無法開啟。 (就是開的過程中鼠標轉圈圈大約3秒,然後就沒有然後了) > 我再次嘗試重啟 nautilus,資料夾仍然無法開啟。 (這是之前網路上的解法,據說可以解決系統原生軟體打不開的問題,我每次試都沒有用,或許我用錯方法了。) > 我把能試的指令都嘗試過後,資料夾依然無法啟動,且系統又開始不穩定了... 於是我決定移除 variety,並且重新啟動電腦。 > 重新啟動後,我再繼續試用,發現電腦變得很順暢,而且用了一整天都沒有在看到那個煩人的內部錯誤,資料夾也可以正常開啟。那我就確定過去的問題是 variety 所導致。 > 既然確認了問題元兇,再來只要確認其他軟體套件是無辜的就好了。於是我把我之前刪除的通通安裝回來,昨天安裝好,用到今天,作業系統依然沒有回報內部錯誤。看來我有十足的把握,問題是因為 variety 導致的... 至於原因,我不清楚。 【總結】 variety 可能導致 ubuntu 16.04 卡頓甚至內部錯誤,原因不明,純屬經驗推測。 ---- 可是我還是好喜歡桌布會自動切換喔... 改天再來找一個替代軟體好了www ---- 補充:剛剛才發現 ubuntu 原本就有一個叫做 shotwell 的軟體可以辦到桌布切換的功能,現在試用中,希望不會再發生上述狀況...
2017/11/16 1:31
|
||||||||||
![]() |
回覆: 關於桌布切換軟體 variety |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 36
HP : 178 / 893
![]() |
[回到索引]
================================================================================ # 如何透過「gsettings」設定桌布 ================================================================================ 雖然我不知道您發生狀況的關鍵因素是啥,我也沒使用「variety」的經驗。 不過我可以提供您一些探索的方向, 目前我在「Ubuntu 17.10」,我暫時沒有「Ubuntu 16.04」的環境, 所以先從「Ubuntu 17.10」來舉例,也許跟「Ubuntu 16.04」細節有不同,但也有可能差不了太多,您可以再研究看看。 ================================================================================ 執行下面指令,下載「variety」這個套件。
會下載一個檔案「variety_0.6.6-1_all.deb」。 執行下面指令解開,
然後就會解開到「variety」這個資料夾, 執行下面指令,觀看「variety」資料夾結構。
顯示 variety └── usr ├── bin │ └── variety ├── lib │ └── python2.7 │ └── dist-packages │ ├── jumble │ │ ├── __init__.py │ │ ├── IPlugin.py │ │ └── Jumble.py │ ├── variety │ │ ├── AboutVarietyDialog.py │ │ ├── AbstractAddByQueryDialog.py │ │ ├── AddFlickrDialog.py │ │ ├── AddMediaRssDialog.py │ │ ├── AddRedditDialog.py │ │ ├── AddWallhavenDialog.py │ │ ├── APODDownloader.py │ │ ├── AttrDict.py │ │ ├── AvgColor.py │ │ ├── BingDownloader.py │ │ ├── CalibrateDominantColors.py │ │ ├── convert-metadata.py │ │ ├── DesktopprDownloader.py │ │ ├── DominantColors.py │ │ ├── Downloader.py │ │ ├── EarthDownloader.py │ │ ├── EditFavoriteOperationsDialog.py │ │ ├── FacebookFirstRunDialog.py │ │ ├── FacebookHelper.py │ │ ├── FacebookPublishDialog.py │ │ ├── FlickrDownloader.py │ │ ├── FolderChooser.py │ │ ├── ImageFetcher.py │ │ ├── indicator.py │ │ ├── __init__.py │ │ ├── LoginOrRegisterDialog.py │ │ ├── MediaRssDownloader.py │ │ ├── Options.py │ │ ├── plugins │ │ │ ├── __init__.py │ │ │ ├── IQuoteSource.py │ │ │ └── IVarietyPlugin.py │ │ ├── PreferencesVarietyDialog.py │ │ ├── QuotesEngine.py │ │ ├── QuoteWriter.py │ │ ├── RedditDownloader.py │ │ ├── SmartFeaturesConfirmationDialog.py │ │ ├── SmartFeaturesNoticeDialog.py │ │ ├── Smart.py │ │ ├── SmartRegisterDialog.py │ │ ├── Stats.py │ │ ├── Texts.py │ │ ├── ThumbsManager.py │ │ ├── ThumbsWindow.py │ │ ├── UnsplashDownloader.py │ │ ├── Util.py │ │ ├── VarietyOptionParser.py │ │ ├── VarietyWindow.py │ │ ├── WallhavenDownloader.py │ │ └── WelcomeDialog.py │ ├── variety-0.6.6.egg-info │ └── variety_lib │ ├── AboutDialog.py │ ├── Builder.py │ ├── helpers.py │ ├── __init__.py │ ├── PreferencesDialog.py │ └── varietyconfig.py └── share ├── applications │ └── variety.desktop ├── doc │ └── variety │ ├── changelog.Debian.gz │ └── copyright ├── icons │ └── hicolor │ ├── 22x22 │ │ └── apps │ │ ├── variety-indicator-dark.png │ │ └── variety-indicator.png │ └── scalable │ └── apps │ └── variety.svg ├── lintian │ └── overrides │ └── variety ├── locale │ ├── bg │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── de │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── es │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── fr │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── ja │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── ko │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── pl │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── ru │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── sr │ │ └── LC_MESSAGES │ │ └── variety.mo │ ├── uk │ │ └── LC_MESSAGES │ │ └── variety.mo │ └── zh_CN │ └── LC_MESSAGES │ └── variety.mo ├── man │ └── man1 │ └── variety.1.gz ├── metainfo │ └── variety.appdata.xml ├── python │ └── runtime.d │ └── variety.rtupdate └── variety ├── config │ ├── filters.txt │ ├── sources.txt │ ├── ui.conf │ └── variety.conf ├── media │ ├── sfw-0.svg │ ├── sfw-100.svg │ ├── sfw-50.svg │ ├── sfw-80.svg │ ├── tray-screenshot.png │ ├── variety128.png │ ├── variety14.png │ ├── variety16a.png │ ├── variety16.png │ ├── variety24.png │ ├── variety256.png │ ├── variety32.png │ ├── variety48.png │ ├── variety64.png │ ├── variety-indicator-dark.png │ ├── variety-indicator-dark.svg │ ├── variety-indicator.png │ ├── variety-indicator.svg │ ├── variety-small.svg │ ├── variety.svg │ ├── variety-very-small.svg │ ├── vrty-cloud.png │ ├── vrty-login.png │ ├── vrty-users.png │ └── wallpaper-kde.jpg ├── plugins │ ├── __init__.py │ └── quotes │ ├── GoodreadsSource.py │ ├── __init__.py │ ├── LocalFilesSource.py │ ├── QuotationsPageSource.py │ ├── QuotesDaddySource.py │ └── quotes.txt ├── scripts │ ├── get_wallpaper │ ├── install_ssl_deps.sh │ └── set_wallpaper └── ui ├── AboutVarietyDialog.ui ├── about_variety_dialog.xml ├── AddFlickrDialog.ui ├── add_flickr_dialog.xml ├── AddMediaRssDialog.ui ├── add_media_rss_dialog.xml ├── AddPanoramioDialog.ui ├── add_panoramio_dialog.xml ├── AddRedditDialog.ui ├── add_reddit_dialog.xml ├── AddWallhavenDialog.ui ├── add_wallhaven_dialog.xml ├── changes.txt ├── EditFavoriteOperationsDialog.ui ├── edit_favorite_operations_dialog.xml ├── FacebookFirstRunDialog.ui ├── facebook_first_run_dialog.xml ├── FacebookPublishDialog.ui ├── facebook_publish_dialog.xml ├── LoginOrRegisterDialog.ui ├── login_or_register_dialog.xml ├── PreferencesVarietyDialog.ui ├── preferences_variety_dialog.xml ├── SmartFeaturesConfirmationDialog.ui ├── smart_features_confirmation_dialog.xml ├── SmartFeaturesNoticeDialog.ui ├── smart_features_notice_dialog.xml ├── SmartRegisterDialog.ui ├── smart_register_dialog.xml ├── WelcomeDialog.ui └── welcome_dialog.xml 56 directories, 151 files 這個技巧,我在「#23 回覆: Ubuntu 17.10 推出」, 關於這個技巧,其他的討論案例我或多或少都會提到相關的用法,一些討論案例,紀錄在「[索引] 套件操作實務」。 ================================================================================ 若您的系統,已經有安裝「variety」這個套件。 可以直接執行
會顯示一個檔案列表,如同下面的網頁列的 17.10 : https://packages.ubuntu.com/artful/all/variety/filelist 16.04 : https://packages.ubuntu.com/xenial/all/variety/filelist ================================================================================ 另外也可以直接到下面這個網址 http://tw.archive.ubuntu.com/ubuntu/pool/universe/v/variety/ 直接下載「16.04」的版本「Package: variety (0.6.0-1)」。 http://tw.archive.ubuntu.com/ubuntu/pool/universe/v/variety/variety_0.6.0-1_all.deb 這部份的概念,可以參考「#2 回覆: apt 出現許多錯誤訊息」 執行下面指令,下載「variety_0.6.0-1_all.deb」
會下載一個檔案「variety_0.6.0-1_all.deb」 一樣可以執行下面指令解開
會解開到資料夾「variety」 ================================================================================ 接下來我還是以「17.10」為例。 執行下面指令,觀看「variety/usr/share/variety/scripts/」這個資料夾
顯示
執行
顯示
執行
顯示
================================================================================ ## get_wallpaper 執行
顯示
================================================================================ ## set_wallpaper 執行
顯示
================================================================================ 接下來先跳脫一下, 先參考「#25 回覆: Ubuntu 17.10 推出」這篇回覆 下載「gnome-control-center」的「Source Package: gnome-control-center」下來探索。 然後按照「#3 回覆: Ubuntu Linux 17.10 螢幕鎖定失效」和「#48 回覆: Ubuntu 17.10 推出」這兩篇的探索模式, 您這篇的議題,則是要探索「$ gnome-control-center background」這個「panel」。 所以從剛剛下載解開後的資料夾,則是要探索「gnome-control-center-3.26.1/panels/background」這個資料夾。
顯示
================================================================================ 可以在「gnome-control-center-3.26.1/panels/background/cc-background-panel.c」這個檔案,找到一些線索 執行
顯示
================================================================================ 執行
顯示 39:#define WP_PATH_ID "org.gnome.desktop.background" 829: priv->settings = g_settings_new (WP_PATH_ID); ================================================================================ 執行
顯示 41:#define WP_URI_KEY "picture-uri" 479: uri = g_settings_get_string (settings, WP_URI_KEY); 632: g_settings_set_string (settings, WP_URI_KEY, ""); 698: g_settings_set_string (settings, WP_URI_KEY, dest_uri); 712: g_settings_set_string (settings, WP_URI_KEY, uri); ================================================================================ 接下來直接透過「gsettings」作一些測試。 關於「gsettings」相關的議題,我有紀錄在「#22 回覆: Ubuntu 17.10 推出」, 更早以前的討論案例,則是紀錄在「[索引] 泛Ubuntu 安裝調校」。 您可以對照上面「get_wallpaper」和「set_wallpaper」找到的「gsettings」指令。 ================================================================================ 執行
顯示
================================================================================ 執行
顯示
================================================================================ 執行
顯示
================================================================================ 執行
顯示
執行
顯示
================================================================================ ## 設定桌面背景圖片參考指令 執行下面指令,設定桌面背景圖片為「/usr/share/backgrounds/Planking_is_going_against_the_grain_by_mendhak.jpg」。
執行下面指令,設定桌面背景圖片為「/usr/share/backgrounds/London_Eye_by_Paul_Daniell.jpg」。
後記: 也可以設定「xml」,見下面「聯想到的連結」
還有參考「gnome-shell-3.26.1/js/ui/background.js」 ================================================================================ ## 恢復預設值 執行
接著執行
顯示
================================================================================ ## schema 執行
顯示 /usr/share/glib-2.0/schemas/10_ubuntu-settings.gschema.override:12:picture-uri = 'file:///usr/share/backgrounds/warty-final-ubuntu.png' /usr/share/glib-2.0/schemas/10_ubuntu-settings.gschema.override:15:picture-uri = 'file:///usr/share/backgrounds/warty-final-ubuntu.png' Binary file /usr/share/glib-2.0/schemas/gschemas.compiled matches /usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.xml:21: <key name="picture-uri" type="s"> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.xml:111: <key name="picture-uri" type="s"> ================================================================================ 執行
顯示
這部份的概念,可以參考「#8 回覆: Ubuntu Linux 17.10 螢幕鎖定失效」。 ================================================================================ 執行
顯示 21: <key name="picture-uri" type="s"> 22- <default>'file:///usr/share/backgrounds/gnome/adwaita-timed.xml'</default> 23- <summary>Picture URI</summary> 24- <description> 25- URI to use for the background image. Note that the backend only supports 26- local (file://) URIs. 27- </description> 28- </key> 這部份的概念,可以參考「#7 回覆: Ubuntu Linux 17.10 螢幕鎖定失效」。 ================================================================================ 執行
顯示 111: <key name="picture-uri" type="s"> 112- <default>'file:///usr/share/backgrounds/gnome/adwaita-lock.jpg'</default> 113- <summary>Picture URI</summary> 114- <description> 115- URI to use for the background image. Note that the backend only supports 116- local (file://) URIs. 117- </description> 118- </key> 這部份的概念,可以參考「#7 回覆: Ubuntu Linux 17.10 螢幕鎖定失效」。 ================================================================================ 接下來要探索的, 因為是「Ubuntu 17.10」,所以「桌面環境」要探索「gnome-shell」,若您是「Ubuntu 16.04」則推測要探索「unity」。 一樣執行下面指令,下載「gnome-shell」的「Source Package: gnome-shell」
然後執行
顯示 gnome-shell-3.26.1/js/ui/background.js:119:const PICTURE_URI_KEY = 'picture-uri'; 於是就可以找到「gnome-shell-3.26.1/js/ui/background.js」這個檔案。 執行
顯示 119:const PICTURE_URI_KEY = 'picture-uri'; 575: let uri = this._settings.get_string(PICTURE_URI_KEY); ================================================================================ 還有也可以探索「nautilus」。 執行下面指令,下載「nautilus」的「Source Package: nautilus」。
然後執行
顯示 nautilus-3.26.0/src/nautilus-files-view.c:6573:#define BG_KEY_PICTURE_URI "picture-uri" 就可以找到「nautilus-3.26.0/src/nautilus-files-view.c」這個檔案。 ================================================================================ 還有也可以探索「gnome-tweak-tool」。 執行下面指令,下載「gnome-tweak-tool」的「Source Package: gnome-tweak-tool」。
然後執行
顯示
就可以找到「gnome-tweak-tool-3.26.2.1/gtweak/tweaks/tweak_group_desktop.py」這個檔案。 ================================================================================ 後來您提到的「shotwell」。 執行下面指令,下載「shotwell」的「Source Package: shotwell」。
然後執行
顯示 grep: shotwell-0.26.3/debian/shotwell-common.README.Debian: No such file or directory shotwell-0.26.3/src/config/GSettingsEngine.vala:107: key_names[ConfigurableProperty.DESKTOP_BACKGROUND_FILE] = "picture-uri"; shotwell-0.26.3/src/config/GSettingsEngine.vala:109: key_names[ConfigurableProperty.SCREENSAVER_FILE] = "picture-uri"; shotwell-0.26.3/src/config/GSettingsEngine.c:1700: _tmp219_ = g_strdup ("picture-uri"); shotwell-0.26.3/src/config/GSettingsEngine.c:1724: _tmp225_ = g_strdup ("picture-uri"); 就可以找到「shotwell-0.26.3/src/config/GSettingsEngine.vala」這個檔案。 ================================================================================ ## 聯想到的連結 * http://linux.vbird.org/linux_basic/0430cron.php * http://rocksaying.tw/archives/15700221.html * [分享] 自動換桌布腳本,支援 Unity/Gnome3 - 「#28」 * #8 回覆: 如何讓桌面的圖片每隔若干分鐘改變一次? * /usr/share/backgrounds/contest/artful.xml ================================================================================ 以上只是初步探索,提供您參考,我尚未了解整個實作機制,只是給您一些線索,讓您有個探索的起點。 報告完畢。 ![]() ================================================================================ [回到索引]
2017/11/16 3:29
|
||||||||||
![]() |
回覆: 關於桌布切換軟體 variety |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2017/5/27 21:44 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 15
![]() |
感謝大神特地為此做出如此詳盡的教學!
抱歉我因為常常忘記登入這裡才這麼晚回覆...
2018/1/3 23:33
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.