qt4-fsarchiver — backup для ленивых
Раньше часто недооценивал backup, за что неоднократно поплатился временем. Да, приобрел много ценного опыта, но лучше бы это не на своей системе, а где нибудь … в другом месте. И теперь стараюсь делать запасы, особенно перед всякими экспериментами, которые по прежнему люблю.
Для себя лично нашел прекрасную программу, которая делает backup прямо на рабочей системе — qt4-fsarchiver. Это графическая оболочка для другой прекрасной программы — fsarchiver — с помощью которой в командной строке можно делать то же самое, а если написать скрипты, то это вообще просто. Но для написания скриптов нужно изучать параметры программы, и не всегда всё гладко получается (раньше пытался работать этой программой с live-cd, иногда бывали неприятности). А с qt4-fsarchiver все достаточно просто — выбираем что архивировать (раздел), куда архивировать, каким алгоритмом и степерь сжатия, нажимаем старт — и все, через пару часов (а то и меньше, в зависимости от размера раздела, у меня уходить минут 20 из-за ssd-диска и легких алгоритмов сжатия) backup готов. Так что если вы простой пользователь opensuse linux, как и я — программа подходит для вас на все 100%
Cleanup on OBS – Bacula packages to adopt
I was one of the creator and maintainers of bacula packages on obs (Story started 4 years ago).
Since then (+3 years) I’m using another tool called Bareos, and have no more interest
nor time to maintain those packages.
Since sometimes, bacula project has released two main major version. (7.0 and 7.2).
Nobody has taken care of the packages available on obs Archiving:Backup, nor have
proposed an update. [1]
Those packages have never been submitted to Factory, and proposed to any released openSUSE version.
From one of the last upstream announcement Bacula project will deliver directly prebuild packages for major distributions.
So if you’re interested to take ownership of those, raise your hands now (ask maintainer status with obs interface).
I will let a grace period of one month before sending a delete request.
Have fun!
2015/10/22 polkit 升級的問題
以下描述的問題,只要重新開機就會一切正常
2015/10/26 Update: All errors below will disappear after a system restart, Sorry
openSUSE 13.2 KDE
最近的 openSUSE-2015-655 - Security update for polkit
其中的 polkit 0.113-3.8.1 會導致
使用者無法自由控制網路開關
需要輸入管理者密碼
若覺得不便,就暫時不要升級
使用者關閉或開啟無線網路會出現
System policy prevents enabling or disabling WiFi devices
使用者想修改網路設定會出現
System policy prevents modification of personal network settings
若想要連接到其他網路會出現
Failed to add connection
Not authorized to control networking
這次更新相關的 bugzilla 可能需要重新開啟
https://bugzilla.novell.com/show_bug.cgi?id=935119
https://bugzilla.novell.com/show_bug.cgi?id=933922
在 KDE 中開啟 samba 分享的 office 文件
KDE 桌面環境
在 samba 分享的資料夾中可以看見 doc docx xls xlsx odt ods 之類
需要用到 libreoffice 開啟的檔案
只能複製到本機上才能開啟
無法在檔案管理員中直接點擊開啟
請參考
https://ask.libreoffice.org/en/question/23021/solved-open-ods-or-odt-files-from-a-smb-share-throws-damaged-file-error/
解決方法:
$sudo zypper in orbit2 libreoffice-gnome
$vi ~/.profile
add
export OOO_FORCE_DESKTOP=gnome
重新登入即可
安裝與設定 PaperCut client
提供了 windows , mac 和 linux 的客戶端
首先連上列印伺服器,此例為 192.168.4.13 ,您需要依照實際的情況設定

由 PCClient 目錄中找到 linux 目錄
將整個目錄複製到您的電腦上
修改 config.properties
將伺服器的位址(server-ip)改成正確的伺服器位址
然後將 pc-client-linux.sh 改成可執行檔
$chmod +x pc-client-linux.sh
執行 pc-client-linux.sh
輸入使用者代號及密碼即可
這是一個用 java 寫的程式,若無法執行,請檢查您的 java 環境
接下來設定印表機
您可以用 CUPS 來設定
開啟瀏覽器輸入 http://localhost:631
請詢問您的管理員相關的連線資訊
例如印表機的佇列
在我這裡的情況要設定成
lpd://192.168.4.13/Gestetner
最後是應用程式端的印表機設定
檔案按列印之後,選擇印表機,按下屬性(C)
在裝置分頁中的選項
點選 User Code
右邊自訂按兩下
即可輸入您的使用者代碼
然後按確定
即可回到上一頁列印
Wallpapers
Part of GNOME's visual identity are the default wallpapers. Ever since GNOME3 was released, regardless of the release version, you can tell a stock GNOME desktop from afar. Unlike what most Linux distributions do, we don't change the wallpaper thematically from release to release and there is a strong focus on continuity.
While both Android and Windows are going analog, we're not that hipster. If you follow my journal, you probably wouldn't be shocked to hear I mainly use Blender to create the wallpapers. In the past Inkscape took a major part in the execution, but its lacking implementation of gradients leads to dramatic color banding in the subtle gradients we need for the wallpapers. I used to tediously compensate for this in GIMP, using noisify filters while working in high bit depth and then reducing color using GEGL's magical color reduction operation that Hans Peter Jensen wrote a while a back. It allows to chose various dithering algorithms when lowering the bit depth.
However thanks to Cycles, we get the noise for free :) Actually it's one of the things I spend hours and hours waiting for getting cleaned up with iterations. But it does help with color banding.
In my work I have always focused on execution. Many artists spend a great deal of time constructing a solid concept and have everything thought out. But unless the result is well executed, the whole thing falls apart. GNOME Wallpapers are really just stripes and triangles. But it's the detail, the light play, the sharpness, not too much high density information that make it all work.
First iterations of the GNOME 3.20 variants are beginning to land in the gnome-backgrounds module. Check it out.
SVG animation
I haven't written a post in quite a while, so I decided to document my failure to come up with a viable alternative to the translatable animations we use in Getting Started documentation. So let's start with what's wrong with it. Despite being far more maintainable than a screencast, it's still a major hassle to keep the videos in sync with the developing designs. Every translation requires a re-render of all the frames and it quickly grows into gigabytes per language.
Video
If you're interested in seeing how these were produced, see the Behind the Scenes of getting Started video.
The animations themselves aren't super complex. Basic transforms (translation, scale and rotation) and opacity is all that's needed. And because we are using translatable SVGs in Mallard, it was time to look into SVG animation. There are numerous options available to animate in SVG, which already gave me a hint that none of them will work properly for my use case. I hate being right.
SMIL
I'll starts with the one I like least. The inline garbage approach. SMIL. Each attribute of an SVG element is animateable. Creating a global sequence using this by hand is close to impossible. Its capabilities do include a few extras like animating an object along a path, but in general I cannot imagine editing this by hand. Incorporating Inkscape into the workflow seemed feasible first. Inkscape will not touch the XML it doesn't know about. It will not clean out any of the animation stuff when you save. The xlink namespace definition to animate along path seems to have worked, but I can't figure out some weird offsets. Groups usually get some matrix transforms as soon as you reposition them. It all may boil down to Inkscape using its own coordinate system, I don't know. I haven't succeeded to bolt some animation on the Inkscape generated SVG.
CSS
A much more appealing was the concept of using CSS animation. We do a lot of transitions and some animation in gtk+, so it would have been great to reuse the same technology here. While CSS transitions are spot on, animation with a sense of a global timeline is not really the use case for the web. Usually animation in the intended context is an individual transform happening after an event triggered. Creating a sequence of various objects animating in a global timeline is pretty awkward. Especially if you want to loop the whole animation infinitely. The only tools for your disposal is either a time offset or relative time keyframes, keeping all objects' animation the same length.
I also ran into Firefox and Webkit interpreting transform-origin differently.
.run-animation {
transform-origin: top left;
animation: cursor-move 2s ease 1s forwards,
fade-in 1s linear 0s,
cursor-click .25s ease 3s alternate 2;
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes cursor-move {
from { opacity: 1; }
to { opacity: 1; transform: translate(100px,-100px);}
}
@keyframes cursor-click {
from { transform: translate(100px,-100px) scale(1); }
to { transform: translate(100px,-100px) scale(.5); }
}
The above CSS uses animation-delay. It might be possible to have all keyframes last the same time and use the keyframes relative keyframing for timing (duplicate same keyframe to "hold"). I can't imagine retiming or generally modify an existing animation hand constructed using CSS' keyframes though. A visual tool with a timeline would be necessary.
Javascript
There are many js based frameworks to aid creating and animating SVG documents in realtime, but none of them seem to aid me in creating a global complex animation using assets created in Inkscape. I looked at Google Webdesigner next.
Google Webdesigner
Google Webdesigner has all the necessary visual tools like property keyframing and a global timeline. Sadly it produces a rather less self contained set of html, js and css files. I didn't figure out a way how that could be brought into Mallard.
In the end, even though the animations don't seem to be that complex, maintaining them by hand doesn't seem very doable. A visual editor is required. If Google Webdesigner can be taught to produce a standalone SVG or Mallard taught to use iframes, I'm all ear. Any pointers to a similar tool is also welcome.
Настройка звука в конфигурации с несколькими одинаковыми звуковыми картами
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06) 00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]Пользователи жалуются, что звук не работает. Проблема состоит в том, что YaST создаёт следующую конфигурацию в 50-sound.conf:
options snd slots=snd-hda-intel,snd-hda-intel alias snd-card-0 snd-hda-intel alias snd-card-1 snd-hda-intelЗдесь snd-card-0 — звуковое устройство "по умолчанию". Очевидно, что в таком подходе ситуация, когда один и тот же модуль отвечает за два устройства, обрабатывается не корректно. Кто из устройств первый попал в функцию azx_probe модуля, тот и станет snd-card-0. В нашем случае, это не то устройство, которое нам хотелось бы. Это можно проверить, сделав
ls -l /sys/class/sound/card0/device lrwxrwxrwx 1 root root 0 окт 9 21:36 /sys/class/sound/card0/device -> ../../../0000:00:03.0
Для восстановления правильного порядка предлагается делать следующее.
Во-первых, внимательно изучив исходники модуля, добавляем в 50-sound.conf:
options snd-hda-intel index=1,0Во-вторых, надеемся, что при следующих загрузках порядок инициализации не будет меняться случайным образом, потому-что кто первый попадет в функцию azx_probe, тот теперь и будет card1. И это всё происходит в 2015 году, когда повсюду systemd и прочий udev, а звуковую карту за её DeviceId привязать нельзя.
Настройка звука в конфигурации с несколькими одинаковыми звуковыми картами
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)Пользователи жалуются, что звук не работает. Проблема состоит в том, что YaST создаёт следующую конфигурацию в 50-sound.conf:
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
options snd slots=snd-hda-intel,snd-hda-intelЗдесь snd-card-0 — звуковое устройство "по умолчанию". Очевидно, что в таком подходе ситуация, когда один и тот же модуль отвечает за два устройства, обрабатывается не корректно. Кто из устройств первый попал в функцию azx_probe модуля, тот и станет snd-card-0. В нашем случае, это не то устройство, которое нам хотелось бы. Это можно проверить, сделав
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel
ls -l /sys/class/sound/card0/device
lrwxrwxrwx 1 root root 0 окт 9 21:36 /sys/class/sound/card0/device -> ../../../0000:00:03.0
Для восстановления правильного порядка предлагается делать следующее.
Во-первых, внимательно изучив исходники модуля, добавляем в 50-sound.conf:
options snd-hda-intel index=1,0Во-вторых, надеемся, что при следующих загрузках порядок инициализации не будет меняться случайным образом, потому-что кто первый попадет в функцию azx_probe, тот теперь и будет card1. И это всё происходит в 2015 году, когда повсюду systemd и прочий udev, а звуковую карту за её DeviceId привязать нельзя.
Ansible install with openSUSE 13.2 and Mac
Ansible is python based, using SSH deploy packages to remote servers, it's like Puppet / Chef / Salt.
-
Documentation
-
Ansible module index
-
Ansible Galaxy
-
Repository of Ansible roles contributed by the community
-
Ansible Project Google Group
-
The place to go if you have any questions about Ansible
-
IRC
-
#ansible on irc.freenode.net
-
code example
-
Mac OS - use pip to install
-
$ sudo easy_install pip
-
$ sudo pip install ansible
-
The control machine
-
The one that you use to control remote machines
-
needs to have python 2.6 or later installed.
-
To manage a server with Ansible
-
Needs to have SSH and Python 2.5 or later installed.
-
Connect to a remote machine using SSH.
-
Interact with the bash command-line shell (pipes and redirection).
-
Install packages.
-
Use the sudo command.
-
Check and set file permissions.
-
Start and stop services.
-
Set environment variables.
-
Write scripts ( Any language )
-
You don't need to know python to use Ansible unless you want to write your own module.
-
You will need to learn some YAML and Jinja2 to use Ansible.






