Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
โ Live Streamingโ Interactive Chatโ Private Showsโ HD Quality
Anya is LIVE right now
FREE
Free to watch โข No registration required โข HD streaming
Xubuntu has quite deficiencies when working with multiple displays. Xfce 4.12 was promising some improvements in support for multiple monitors, but still it doesn't work as well as expected.
Xfce 4.10 always assumes that display on the left is the primary one. After enabling second monitor positioned on the left, it will move all windows, desktop icons and panels to the left.
I found thread on xfce forum dealing with the same issue. The most suitable recommendation was to create script which will run xrandr for configuring two monitors and their positions:
Then set output attribute of the panel to laptop screen which should behave as primary:
# For panel on LDVS1 xfconf-query -c xfce4-panel -p /panels/panel-0/output-name -n -t string -s LVDS1 xfce4-panel -r
I added additionally xfce4-panel -r, because, I don't know why, sometimes panel stood on the right, sometimes was moved to newly enabled monitor on the left.
I saved script to ~/.screenlayout/layout1.sh with 755 and assigned it via keyboard configuration window to shortcut super+P
Lately, I use openvpn often. Before, after connecting to vpn I always went toย https://www.whatismyip.com/ย to checkout if everything works fine. Or many times happened that I woke up computer and I didn't remember if I am behind vpn or not.
For the purpose of quick visual check, I have created simple GTK appindicator tool which is requesting IP geolocation from serviceย http://www.telize.com/ย in one second periods.
From the json response it will use country code to change icon accordingly. Menu I populated additionally with IP address.
Application is coded in python. Source code can be found under GPL2 license on github:ย https://github.com/PrimaMateria/ip-indicator
visual-rbac is my pet project for the visualization of the templates components of our company's solution of the Role Based Access Control. I plan to describe main ideas behind our implementation of RBAC in separate post.
visual-rbac application is based on Bootstrap framework, running interactive visualization built with D3.js library. Data for the visualization are provided in form of XML file. Until this point it was composed of single index.html page running main javascript file. Server was simply serving required resources to the browser.
Look up for Node.js and Docker was triggered by idea of publishing modification date of the XML data file to the application. What type of script to use for this purpose? Application is currently living in 3 domains:
ubuntu development environment running LAMP on my laptop
windows development environment running TINY server on computer in office
red hat production environment running Jetty on server in work
Shortly about Node.js
The need of unifying all environments was clear. For this purpose I chose Node.js webserver platform. Source code is written in javascript language and it is compatible also with coffee script by including require 'coffee-script' at the top of the module. Only later I found more about the idea of running single thread process consisting of non-blocking blocks of code. Quick introduction about the Node.js I found in the book Beginning Node.js by Basarat Ali Syed.
Node.js has another plus, that it comes with npm package manager already serving tons of helpfull modules. First two I installed Express.js and nodemon recommended by introduction video from LearnCode.academy.
Shortly about Docker
Docker is nowadays hype in the world. I heard about it only during lunch discussions and therefore the idea was quite unclear for me. After watching presentation by Solomon Hykes much of fuzziness disappeared. For my purpose it means I will prepare one container running visual-rbac application upon Node.js.
Setting up Node.js
First install globally express-generator tool
npm install express-generator -g
Express is using by default jade view engine. But as I have already existing index.html, it is more suitable to use Hogan.js
express --hogan visual-rbac
Resources served to client are stored in public folder. As I want to preserve existing git repository, first I git mv all files to new public folder and then I add the rest of the files, generated by express. In the view folder I populate index.hjs with content of existing index.html. Finally I test application by running node, everything is working well.
./bin/www
Building Docker image
Docker is installed via package docker.io. In repository dwells also package docker, which is some different application. Docker Hub offers free account with one private docker repository. After the registration I connect local docker by running:
docker login
As the base image I choose node:slim. In the root folder of application I create Dockerfile. After several days of experimenting it looks as follows.
First I should explain how I suppose to use it. I am working locally and pushing code to Bitbucket. After sometime I consider that application is in releasable state. I will merge changes from master (or whatever branch) to release branch and build the docker image. During the build image will pull release branch to /src/, install necessary node_modules and expose the port 8080 to the host. By default, command executed after running the image will start up node.js server.
In the Dockerfile the first thing after inheriting node:slim, I install ssh and git necessary for connecting to the remote git repo.
On the production environment, again first I login docker to my hub account and then pull the image.
docker pull primamateria/visual-rbac
By default image is run in detached mode. For the requirement of picking up some details, it is also possible to access image bash interactively. Docker also provides command for direct accessing image logs. The commands in stated order are as follows.
docker run -p 8470:8080 -d primamateria/visual-rbac docker run -p 8470:8080 -i primamateria/visual-rbac /bin/bash docker logs <ID_OF_RUNNING_CONTAINER>
Using Docker image in development
During development I need to have direct contact with the running image. For this purpose I figured out following approach.
I run interactively latest visual-rbac image and mount my modified source code as volume to the /src2/. With run command I start nodemon which is monitoring source files changes and automatically restarting Node.js when needed.
docker run -p 8740:8080 -v /home/primamateria/Dev/RBACVisualized/:/src2/ -i primamateria/visual-rbac nodemon /src2/bin/www
Plan for the future
Automatic jenkins build, which will build image, push it to docker hub and start it
Testing application
linked container for connecting to DB on production and serving mocked data for development
Pulseaudio, pulseaudio-utils and pavucontrol were already present in my system. I only needed to additionally install bluetooth module.
sudo gvim /etc/bluetooth/audio.conf
Inside the configuration file add line Enable with empty value
[General] Enable=
In the post is emphasized to restart Bluetooth service with Bluetooth Manager closed. I didn't find option to close it, only to turn Bluetooth off. Therefore I simply restarted the computer. After restart I opened Bluetooth Manager and selected Audio Sink. Headphones start to work.
Additionally I found useful possibility to set different output per application via PulseAudio Volume Control (accessible also via option Sound Settings of the sound indicator menu).
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
โ Live Streamingโ Interactive Chatโ Private Showsโ HD Quality
Anya is LIVE right now
FREE
Free to watch โข No registration required โข HD streaming
For some time I experience not working wireless connection after waking up my laptop.
Network manager indicator shows connection established, but browser canโt load any page.
sudo dmidecode System Information Manufacturer: Acer Product Name: Aspire E1-571G Version: V2.04 Serial Number: NXM0DEC0132422B5421601 UUID: 04F5A584-DB02-E211-83C6-B888E3CB1338 Wake-up Type: Power Switch SKU Number: Aspire E1-_064C_V2.04 Family: Type1Family
In the same time I start using openvpn. I was considering possibility that openvpn is in some way interrupting network managerโs functionality. Later I observed that even if during the whole session I didnโt established connection via openvpn, at next waking connection was lost.
I tried to restart network-manager service, as well as networking service without success.
sudo service network-manager restart sudo service networking restart
As modem and router in one device I use FRITZ!Box 7390. I can access the router on address 192.168.178.1 during the internet connection absence. My computer is registered in the list of connected devices, but with No internet acces status.
Comparing log messagess after suspending my laptop and waking it up, to log messages after complete restart.
left side after restart, right side after wake up - DIFF
I found question about similar problem, but provided workaround is not working for my case.
After few days I observed another mystical behaviour. In case I put my laptop to sleep while I am connecting via openvpn, after wake up, only openvpn connection is not working. Killing the openvpn process will make internet accessible again.
As I didn't find any other solution and it is a while I keep restarting openvpn manually after wake up, I decided to keep using this workaround in automatized way.
In documentation for pm-utils is described how to attach new hook to resume process. In /usr/lib/pm-utils/sleep.d/ I have created new file called 99zzz-restart-openvpn and chmoded it to 755. It is executed when resuming from RAM after suspend or thawing from harddisk after hibernate.
#!/bin/sh case "$1" in resume|thaw) echo "Restarting openVPN to fix no connection network problem after resume" pkill -e openvpn openvpn /etc/openvpn/vpnht-eu.ovpn & ;; esac exit 0