Tig – A Command Line Browser for Git Repositories

In this article, we would like to introduce to you another useful command-line based interface to git called Tig.

Tig is a free open source, cross platform ncurses-based text-mode interface for git. It is a straight-forward interface to git that can help in staging changes for commit at chunk level and works as a pager for output from different Git commands. It can run on Linux, MacOSX as well as Windows systems.

How to Install Tig in Linux Systems

To install Tig in Linux, you need to first clone the Tig repository to your system and install it as shown.

$ git clone git://github.com/jonas/tig.git
$ make
$ make install

By default, tig will be installed under $HOME/bin directory, but ff you wish to install it in another directory under in your PATH, set prefix to the desired path, as shown.

$ make prefix=/usr/local
$ sudo make install prefix=/usr/local

Once you have installed Tig on your system, using the cd command get into your any of your local git repositories and run tig without any arguments, which should show all commits for the repository.

$ cd ~/bin/shellscripts/
$ tig  

Show Git Repository Commits

Show Git Repository Commits

To quit Tig, press q to close it.

Display Repository Activity Log

To display a log activities of the above repository, use the log sub-command.

$ tig log

View Git Repository Log

View Git Repository Log

Show Repository Objects

The show sub-command allows you to display one or more objects such as commits and many more, in a more detailed way, as shown.

$ tig show commits

Show Git Repository Objects

Show Git Repository Objects

Search A Pattern/Word in Git Files

You can also search for a particular pattern (for example the word check) in your git files with the grep sub-command, as shown.

$ tig grep check 

Search a Work in Git Repository

Search a Work in Git Repository

Display Git Repository Status

To display status of your git repository use status sub-command as shown.

$ tig status

Show Git Repository Status

Show Git Repository Status

For more Tig usage, please refer to help section or visit the Tig Github repository at https://github.com/jonas/tig.

$ tig -h

Tig is a simple ncurses-based interface to git repositories and mainly act as a Git repository browser. Give us your feedback or ask any questions via the comment form below.

Source

Etherpad – A Real Time Web Based Online Collaborative Document Editor for Linux

Etherpad is a web based free document editor tool which allows a group of users to work jointly on a document in a real time, like a multi player editor which runs on a web browser. Etherpad authors can edit and at the same time see each others edits in real time with a capability to display author’s text in their own colours.

Install Etherpad in Linux

Install Etherpad in Linux

This tool has a separate chat box in the sidebar allowing authors to communicate during editing. Etherpad is written in JavaScript both on server side and client side, so that it comes easy for developers to maintain and add new features.

Etherpad is designed in such a way that you can have access to all data through a well-documented HTTP API. This software also helps you to import/export data to many exchange formats and comes with translations too where authors can deliver correct language for their local settings.

For your reference, I’ve attached a Demo of Etherpad Lite at below link.

  1. Watch EtherPad Demo

In this tutorial, I will describe how to install and configure Etherpad Lite a web-based real time collaborative document editing application on RHELCentOSFedoraDebianUbuntu and Linux Mint.

Installing Etherpad Lite on Linux

First, we need to download and install few required libraries and development tools. Open the terminal and run the following command either as root or by adding sudo at the beginning of each command.

Step 1: Install Libraries and Development Packages

You’ll need gzip, git, curl, libssl python, develop libraries, python and gcc packages.

On RHEL / CentOS / Fedora
# yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools" For FreeBSD: portinstall node, npm, git
On Debian / Ubuntu / Linux Mint
$ sudo apt-get install gzip git-core curl python libssl-dev pkg-config build-essential

Step 2: Install Node.js

Additionally, you will also need to download and compile latest stable Node.js version from source packages using following commands.

$ wget http://nodejs.org/dist/node-latest.tar.gz
$ tar xvfvz node-latest.tar.gz
$ cd node-v0.10.23     [Replace a version with your own]
$ ./configure
$ make
$ sudo make install

Once you have successfully installed, verify the Node.js version using the command as follows.

$ node --version

v0.10.23

Step 3: Download and Install Etherpad Lite

We will create a separate user called “etherpad” to run Etherpad application independently. So, first create a user with its home directory.

# useradd --create-home etherpad

Now switch to “etherpad” user and download the latest stable version of Etherpad Lite using GIT repository as shown.

# su - etherpad
$ cd /home/etherpad
$ git clone http://github.com/ether/etherpad-lite.git

Once you’ve downloaded source files, change into the newly created directory containing the cloned source code.

$ cd etherpad-lite/bin

Now, execute run.sh script.

$ ./run.sh
Sample Output
Copy the settings template to settings.json...
Ensure that all dependencies are up to date...  If this is the first time you have run Etherpad please be patient.
[2013-12-17 05:52:23.604] [WARN] console - DirtyDB is used. This is fine for testing but not recommended for production.
[2013-12-17 05:52:24.256] [INFO] console - Installed plugins: ep_etherpad-lite
[2013-12-17 05:52:24.279] [INFO] console - Your Etherpad git version is 7d47d91
[2013-12-17 05:52:24.280] [INFO] console - Report bugs at https://github.com/ether/etherpad-lite/issues
[2013-12-17 05:52:24.325] [INFO] console -    info  - 'socket.io started'
[2013-12-17 05:52:24.396] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/
[2013-12-17 05:52:24.397] [WARN] console - Admin username and password not set in settings.json.  To access admin please uncomment and edit 'users' in settings.json

Step 4: Access and Create New Pad in Etherpad Lite

Now you should able to browse the web interface of Etherpad Lite at http://localhost:9001 or http://your-ip-address:9001 in a web browser.

Create New Pad

Create New Pad

Create a new document by giving a Pad name. Please remember, enter new name when creating a new document or enter name of the previously edited document to access.

For example, I’ve created a new document called “tecmint”. User’s can create multiple new pads in separate windows, each user’s document window appears on another window automatically in real-time. Each user’s window is highlighted in two different colours and also user’s can interact with each other using built-in chat box.

New Pad Chat Window

New Pad Chat Window

Each newly created document has its own URL structure. For example, my new “tecmint” pad get’s a URL as http://your-ip-address:9001/p/tecmint. You can share this document URL with your friends and colleagues. You can even embed the editor window into another HTML web page as an iframe.

Share and Embed New Pad

Share and Embed New Pad

You can save the document while editing is in progress by clicking the STAR button, however they are created periodically. To access a saved revision of the document add the number of the saved revision. For example, if you would like to see the saved revision number (i.e. 2) in this case, replace the number 6 with 2 at the http://your-ip-address:9001/p/tecmint/6/export/text.

Save Revision

Save Revision

Etherpad also comes with built-in feature called import and export, where you can import any external document or export a current saved document to a separate file. The document can be downloaded in HTMLOpen DocumentMicrosoft WordPDF or Plain text format.

Import and Export Documents

Import and Export Documents

A “time slider” feature enables anyone to explore the history of the pad.

Time Slider

Time Slider

Step 5: Using Etherpad Lite with MySQL Backend

By default Etherpad stores documents in a flat-file database. I suggest you to use MySQL as a backend to store created and edited documents. For this, you must have MySQL installed on your system. If you don’t have, install it on the system, you can install it using following commands as root user or using sudo.

On RHEL / CentOS / Fedora
# yum install mysql-server mysql
# service mysqld start
# chkconfig mysqld on
On Debian / Ubuntu / Linux Mint
# apt-get install mysql-server mysql-client
# service mysqld start

After MySQL has installed, connect to mysql shell by running a following command.

# mysql -u root -p

Once you in mysql shell, issue the following command to create the database.

create database etherpad_lite;

Grant permissions to a newly created database account. Replace “your-password” with your own password.

grant all privileges on etherpad_lite.* to 'etherpad'@'localhost' identified by 'your-password';

Leave the mysql client.

exit;

Now, switch to “etherpad” user and go into the etherpad directory and run the following commands:

# su - etherpad
$ cd /home/etherpad/etherpad-lite    
$ cp settings.json.template settings.json

Next, open settings.json with your choice of editor and change the settings as shown below.

# vi settings.json

Find the following text.

"sessionKey" : "",

Add the SECURESTRING with a minimum 10 alpha-numerical string.

"sessionKey" : "Aate1mn160",

Then find:

"dbType" : "dirty",
  //the database specific settings
  "dbSettings" : {
                   "filename" : "var/dirty.db"
                 },

And comment it out like so:

// "dbType" : "dirty", */
  //the database specific settings
  // "dbSettings" : {
  //                   "filename" : "var/dirty.db"
  //                 },

Next set mysql and admin settings as shown below.

  /* An Example of MySQL Configuration
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "etherpad",
                    "host"    : "localhost",
                    "password": "your-password",
                    "database": "etherpad_lite"
                  },

  */
  "users": {
    "admin": {
      "password": "your-password",
      "is_admin": true
    },

Make sure to replace “your-password” with the password you created above while setting up a new database account and an admin password with your own value. Now, we need to install some additional dependency packages with below command.

./bin/installDeps.sh

Once the script completes, we will need to run Etherpad script again. So, it can create the appropriate tables in the database.

./bin/run.sh

After Etherpad has loaded successfully, hit Ctrl+C to kill the process. Again login into mysql shell and alter the database to use correctly.

mysql -u root -p
alter database etherpad_lite character set utf8 collate utf8_bin;
use etherpad_lite;
alter table store convert to character set utf8 collate utf8_bin;
exit;

Finally, we’ve successfully installed and configured Etherpad to use MySQL backend. Now run the etherpadagain to use MySQL as backend.

./bin/run.sh

The script will initialize Etherpad and then start the process. Please keep in mind that Etherpad application will terminate it’s process when you close your terminal session window. Optionally, you can use the screen command to place Etherpad into a screen session for easy access.

That’s it for now, there are lots more other things to explore and improve your Etherpad installation, which are not covered here. For example, you can use Etherpad as service in a Linux system or provide secure access to your user’s over HTTPS/SSL connection. For more information on further configuration visit the official page at:

  1. Etherpad Lite Wiki

Source

How to Install Alfresco Community Edition on RHEL/CentOS 7/6 and Debian 8

Alfresco is an open source ECM system (Enterprise Content Management) written in Java which provides electronic management, collaboration and business control.

Install Alfresco Community Edition in Linux

Install Alfresco Community Edition in Linux

This guide will cover how to install and configure Alfresco Community Edition on RHEL/CentOS 7/6Debian 8and Ubuntu systems with Nginx server as a frontend web server for the application.

Requirements

As for the minimum system requirements, Alfresco needs a machine with at least 4 GB of RAM and a 64-bit Operating System.

Step 1: Install Alfresco Community Edition

1. Before proceeding with Alfresco installation first assure that wget utility is installed on your machine by issuing the below command with root privileges or from root account.

# yum install wget
# apt-get install wget

Install Wget in Linux

Install Wget in Linux

 

2. Next, setup your system hostname and assure that local resolution points to your server IP Address by issuing the following commands:

# hostnamectl set-hostname server.alfresco.lan
# echo “192.168.0.40 server.alfresco.lan” >> /etc/hosts

Set Hostname in Linux

Set Hostname in Linux

3. Remove any MTA from the machine (in this case Postfix Mail server) by issuing the below command:

# yum remove postfix
# apt-get remove postfix

Remove Postfix in Linux

Remove Postfix in Linux

4. Install the following dependencies required by Alfresco software in order to run properly:

# yum install fontconfig libSM libICE libXrender libXext cups-libs
# apt-get install libice6 libsm6 libxt6 libxrender1 libfontconfig1 libcups2

Install Alfresco Dependencies

Install Alfresco Dependencies

5. Next, go to Alfresco Community Edition repository page hosted on sourceforge.net portal and grab the latest binary version (i.e. alfresco-community-5.0.d-installer-linux-x64.bin) for Linux using wget utility.

# wget http://nchc.dl.sourceforge.net/project/alfresco/Alfresco%205.0.d%20Community/alfresco-community-5.0.d-installer-linux-x64.bin

6. After the binary file download finishes, issue the following command in order to grant execution permissions for the file and run alfresco installer.

# chmod +x alfresco-community-5.0.d-installer-linux-x64.bin
# ./alfresco-community-5.0.d-installer-linux-x64.bin

7. After the installation process starts, select the language and continue the installation process by using the below installation wizard as a guide to configure Alfresco:

[root@server ~]# ./alfresco-community-5.0.d-installer-linux-x64.bin 
Language Selection

Please select the installation language
[1] English - English
[2] French - Français
[3] Spanish - Español
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - 日本語
[7] Dutch - Nederlands
[8] Russian - Русский
[9] Simplified Chinese - 简体中文
[10] Norwegian - Norsk bokmål
[11] Brazilian Portuguese - Português Brasileiro
Please choose an option [1] : 1 ---------------------------------------------------------------------------- Welcome to the Alfresco Community Setup Wizard. ---------------------------------------------------------------------------- Installation Type [1] Easy - Installs servers with the default configuration [2] Advanced - Configures server ports and service properties.: Also choose optional components to install. Please choose an option [1] : 2 ---------------------------------------------------------------------------- Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue. Java [Y/n] :y PostgreSQL [Y/n] :y Alfresco : Y (Cannot be edited) Solr1 [y/N] : n Solr4 [Y/n] :y SharePoint [Y/n] :y Web Quick Start [y/N] : y Google Docs Integration [Y/n] :y LibreOffice [Y/n] :y Is the selection above correct? [Y/n]: y

Installation of Alfresco Community Edition

Installation of Alfresco Community Edition

Alfresco Installation Wizard Continues….

----------------------------------------------------------------------------
Installation Folder

Please choose a folder to install Alfresco Community

Select a folder [/opt/alfresco-5.0.d]: [Press Enter key] ---------------------------------------------------------------------------- Database Server Parameters Please enter the port of your database. Database Server port [5432]: [Press Enter key] ---------------------------------------------------------------------------- Tomcat Port Configuration Please enter the Tomcat configuration parameters you wish to use. Web Server domain: [127.0.0.1]: 192.168.0.15 Tomcat Server Port: [8080]: [Press Enter key Tomcat Shutdown Port: [8005]: [Press Enter key Tomcat SSL Port [8443]: [Press Enter key Tomcat AJP Port: [8009]: [Press Enter key ---------------------------------------------------------------------------- Alfresco FTP Port Please choose a port number to use for the integrated Alfresco FTP server. Port: [21]: [Press Enter key

Alfresco Installation Wizard

Alfresco Installation Wizard

Alfresco Installation Continues…

----------------------------------------------------------------------------
Admin Password

Please give a password to use for the Alfresco administrator account.

Admin Password: :[Enter a strong password for Admin user] Repeat Password: :[Repeat the password for Admin User] ---------------------------------------------------------------------------- Alfresco SharePoint Port Please choose a port number for the SharePoint protocol. Port: [7070]: [Press Enter key] ---------------------------------------------------------------------------- Install as a service You can optionally register Alfresco Community as a service. This way it will automatically be started every time the machine is started. Install Alfresco Community as a service? [Y/n]: y ---------------------------------------------------------------------------- LibreOffice Server Port Please enter the port that the Libreoffice Server will listen to by default. LibreOffice Server Port [8100]: [Press Enter key] ----------------------------------------------------------------------------

Alfresco Installation Continues

Alfresco Installation Continues

Alfresco Installation Setup Continues..

----------------------------------------------------------------------------
Setup is now ready to begin installing Alfresco Community on your computer.

Do you want to continue? [Y/n]: y ---------------------------------------------------------------------------- Please wait while Setup installs Alfresco Community on your computer. Installing 0% ______________ 50% ______________ 100% ######################################### ---------------------------------------------------------------------------- Setup has finished installing Alfresco Community on your computer. View Readme File [Y/n]: n Launch Alfresco Community Share [Y/n]: y waiting for server to start....[root@server ~]# done server started /opt/alfresco-5.0.d/postgresql/scripts/ctl.sh : postgresql started at port 5432 Using CATALINA_BASE: /opt/alfresco-5.0.d/tomcat Using CATALINA_HOME: /opt/alfresco-5.0.d/tomcat Using CATALINA_TMPDIR: /opt/alfresco-5.0.d/tomcat/temp Using JRE_HOME: /opt/alfresco-5.0.d/java Using CLASSPATH: /opt/alfresco-5.0.d/tomcat/bin/bootstrap.jar:/opt/alfresco-5.0.d/tomcat/bin/tomcat-juli.jar Using CATALINA_PID: /opt/alfresco-5.0.d/tomcat/temp/catalina.pid Tomcat started. /opt/alfresco-5.0.d/tomcat/scripts/ctl.sh : tomcat started

Alfresco Installation Setup

Alfresco Installation Setup

8. After the installation process finishes and Alfresco services are started issue the below commands in order to open the following firewall ports to allow external hosts in your network to connect to the web application.

# firewall-cmd --add-port=8080/tcp -permanent
# firewall-cmd --add-port=8443/tcp -permanent
# firewall-cmd --add-port=7070/tcp -permanent
# firewall-cmd --reload

In case you need to add other firewall rules to open ports in order to access custom Alfresco services issue the ss command to get a list of all the services running on your machine.

# ss -tulpn

9. To access Alfresco web services, open a browser and use the following URLs (replace the IP Address or domain accordingly). Login with admin user and the password configured for Admin through the installation process.

http://IP-or-domain.tld:8080/share/ 

Alfresco Community Login

Alfresco Community Login

Alfresco Administrator Dashboard

Alfresco Administrator Dashboard

http://IP-or-domain.tld:8080/alfresco/ 

Alfresco Documentation

Alfresco Documentation

For WebDAV.

http://IP-or-domain.tld:8080/alfresco/webdav 

Alfresco WebDav Directory Listing

Alfresco WebDav Directory Listing

For HTTPS accept the security exception.

https://IP-or-domain.tld:8443/share/ 

Alfresco SharePoint Module with Microsoft.

http://IP-or-domain.tld:7070/

Step 2: Configure Nginx as Frontend Web Server for Alfresco

10. In order to install Nginx server on the system, first add Epel Repositories on CentOS/RHEL by issuing the below command:

# yum install epel-release

11. After Epel repos are added into the system proceed with Nginx web server installation by issuing the following command:

# yum install nginx       [On RHEL/CentOS Systems]
# apt-get install nginx   [On Debian/Ubuntu Systems]  

12. On the next step open Nginx configuration file from /etc/nginx/nginx.conf with a text editor and make the following changes:

location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

Configure Nginx for Alfresco

Configure Nginx for Alfresco

Go below and make sure you comment the second location statement by placing a # in front of the following lines:

#location / {
#        }

13. After you’re done, save and close Nginx configuration file and restart daemon to reflect change by issuing the following command:

# systemctl restart nginx.service

14. In order to access Alfresco web interface add a new firewall rule to open port 80 on your machine and navigate to the below URL. Also, make sure Selinux policy is disabled on RHEL/CentOS systems.

# firewall-cmd --add-service=http -permanent
# firewall-cmd --reload
# setenforce 0

To completely disable Selinux policy on the system, open /etc/selinux/config file and set the line SELINUX from enforcing to disabled.

15. Now you can access Alfresco through Nginx.

 http://IP-or-domain.tld/share/ 
 http://IP-or-domain.tld/alfresco/
 http://IP-or-domain.tld/alfresco/webdav 

15. In case you want to securely visit Alfresco web interface through Nginx proxy with SSL, create a Self-Signed Certificate for Nginx on /etc/nginx/ssl/ directory and fill the certificate with your custom settings as illustrated on below screenshot:

# mkdir /etc/nginx/ssl
# cd /etc/nginx/ssl/
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout alfresco.key -out alfresco.crt

Create SSL Certificate for Alfresco

Create SSL Certificate for Alfresco

Pay attention to Certificate Common Name to match your domain hostname.

17. Next, open Nginx configuration file for editing and add the following block before the last closing curly bracket (the } symbol).

# vi /etc/nginx/nginx.conf

Nginx SSL block excerpt:

server {
    listen 443;
    server_name _;

    ssl_certificate           /etc/nginx/ssl/alfresco.crt;
    ssl_certificate_key       /etc/nginx/ssl/alfresco.key;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/ssl.access.log;

      location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
## This is the last curly bracket before editing the file. 
  }

Nginx SSL Configuration for Alfresco

Nginx SSL Configuration for Alfresco

18. Finally, restart Nginx daemon to apply changes, add a new firewall rule for 443 port.

# systemctl restart nginx
# firewall-cmd -add-service=https --permanent
# firewall-cmd --reload

and instruct the browser to your domain URL using the HTTPS protocol.

https://IP_or_domain.tld/share/
https://IP_or_domain.tld/alfresco/

Configure Alfresco as Domain

Configure Alfresco as Domain

19. In order to enable Alfresco and Nginx daemons system-wide run the below command:

# systemctl enable nginx alfresco

That’s all! Alfresco offers integration with MS Office and LibreOffice via CIFs protocol providing a familiar workflow for users.

Source

Watch Favorite Movies/TV Shows Online Using “Popcorn Time” in Your Linux Desktop

In this busy world we have little time for anything other than our work. Leisure from work recharges us. The small break we take in-between our job which may extend from a few minutes to some hour is utilized by us in the task we love and appreciate. It again ranges from – Cracking Jokes, Playing, sleeping or watching daily soaps and Movies.

Watching Movies is liked by most of us. We rely on Television or Various Video Streaming websites (YouTubeMetacafe, etc) to watch movies. In TV we don’t have choice and on Video Streaming website you rarely gets a latest movie. How about something that gives you an interface to watch daily soaps and Movies of your choice of all genres with lots of Language Support?

Here comes a tool ‘Popcorn Time‘ which performs all the above discussed function and the performance of which is out-of-box.

Install Popcorn Time in Linux

Install Popcorn Time in Linux

What is Popcorn Time?

Popcorn Time is a Free and Open Source Software released under General Public License and written in programming languages which includes – HTML, JavaScript and CSS, which streams video on-line for free without the need of filling silly forms or adding your credit card details. It is available for all major operating platforms including Linux, Mac OS and Windows.

Features of Popcorn Time

  1. Great Movies Availability.
  2. No Restriction and you can watch Movies as many times as you want.
  3. Awesome Catalog – Automatically finds best version available and starts streaming it.
  4. Best Quality – Stream HD Movie, Instantaneously.
  5. Drag-and-Drop subtitles ‘.srt files’.
  6. Supports 44 Different Languages.
  7. Icons and Links for ‘About Dialog’ – Better presentation.
  8. Full Window Supported.
  9. Added a Help for Key Board Shortcuts.
  10. Quality Filter for Movies.
  11. Search box to search movies.

How Popcorn Time Works?

The movies in Popcorn time is streamed using bittorrent Protocol. The Application program streams pirated movies directly from torrent trackers. The User Interface of Popcorn Time enables a user to search movies based upon a huge genre and categories. The film is presented in Thumbnails along with the Film Title, their ratings, Year, a small review and the subtitles availability in various Languages. It has a ‘WATCH IT NOW‘ button which makes it possible to stream the movie instantaneously without any formality.

Popcorn Time is used all around the globe in all the countries including those two countries who does not have INTERNET connection as reported by Popcorn time Official site. In some countries the users were getting legal threats against pirated movies. To FIX this Popcorn Time now has encrypted its BitTorrent Traffic and Included VPN service which ensures the identity of third party users can no longer be traced thus avoiding unnecessary risk.

The other side of the story…

Streaming of pirated movies brought this application in debate if this is legal or illegal. We are not going to discuss if this is legal or not and for a FOSS Enthusiastic it rarely means anything. Well the controversy of streaming illegal pirated movies forced its developers to discontinue the project and as a result on March 14th of 2014, the official website of Popcorn Times and GitHub Repository were removed.

Popcorn Time announced that it was ceasing operations, in a blog post at http://getpopcornti.me/.

“Popcorn Time is shutting down today. Not because we ran out of energy, commitment, focus or allies. But because we need to move on with our lives.

Our experiment has put us at the doors of endless debates about piracy and copyright, legal threats and the shady machinery that makes us feel in danger for doing what we love. And that’s not a battle we want a place in.

Later the Announcement

The development of Popcorn Time was taken over by two team and since then this project again moved into ‘Active‘ stage. At this point of time both the groups carrying out the development of Popcorn time uses their own and distinct websites. One is popcorntime.io and the other is Time4Popcorn.eu.

Installation of Popcorn Time in Linux

Download Popcorn Time source tarball package (latest version 0.3.7.2) from any of the two developers’ group website.

  1. http://popcorntime.io/
  2. http://time4popcorn.eu/

Alternatively, you may also use wget command to download tarballs directly in your terminal.

Note: You must have ‘xz-utils‘ package installed on the system to extract the ‘xz‘ format tarball. If not, install the package xz-utils using yum or apt package manager.

On 32-Bit Systems
$ wget https://get.popcorntime.io/build/Popcorn-Time-0.3.7.2-Linux32.tar.xz
$ tar -xvf Popcorn-Time-0.3.7.2-Linux32.tar.xz 
# cd Popcorn-Time/
$ chmod 755 Popcorn-Time 
./Popcorn-Time
On 64-Bit Systems
$ wget https://get.popcorntime.io/build/Popcorn-Time-0.3.7.2-Linux64.tar.xz
$ tar -xvf Popcorn-Time-0.3.7.2-Linux64.tar.xz 
# cd Popcorn-Time/
$ chmod 755 Popcorn-Time 
./Popcorn-Time

Note: In my Debian Jessie (sid/Testing) x86_64 architecture processor. I got the below warning message when I tried running Popcorn-Time.

$ ./Popcorn-Time 

./Popcorn-Time: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

I’ve fixed, by creating a symbolic link tolibudev.so.1 to libudev.so.

$ ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

After that fix, I again tried running Popcorn-Time and I run without any glitch.

Testing Popcorn Time

Please accept the terms of service.

Accept Terms Of Service

Accept Terms Of Service

The second window says “This Popcorn Time Service will Never be taken Down. Enjoy”.

Service Never Be Closed

Service Never Be Closed

The Movie Gallery.

Popcorn Time Movie Gallery

Popcorn Time Movie Gallery

Full Screen View

Full Screen View

Check the effect when I put my mouse over a Movie Thumbnai (2nd row – 4th Column). You can mark “mark as seen” as well as “Add to bookmark”.

Show Movie Thumbnail

Show Movie Thumbnail

The next window upon clicking the Movies Tiles shows Information related to Movie like – Year, Play Time, Genre, No. of starts, A summary of what the movie is all about, Subtitles availability in Languages (see the flags), etc.

In popcorn time or VLC, Watch Trailer, Pixel choice in which you want to watch, subtitles, short description of the movie, magnet link Download and related information like torrent health, number of seeds, ratio, peers, etc.

Show Movie Summary

Show Movie Summary

And here the movie starts.

Streaming Movie

Streaming Movie

Watching Movie – Quality is High and i didn’t lagged any time (well my connection speed is good too). You have the option to pause and play movie, anytime.

Watching Movie in High Quality

Watching Movie in High Quality

The subtitles option. You can Import your own Subtitle ‘.srt‘ file just by dragging and droping. Change volume, minimise, maximize or close it (see the X on the Top Right).

Movie Subtitle Option

Movie Subtitle Option

TV Series Gallery. Play the same way.

TV Series Shows

TV Series Shows

Anime Gallery. Choose what to play

Anime Gallery

Anime Gallery

You may watch Movies, TV Series and Anime over a lot of Genre be it comedy or fantasy or fiction.

Library of Genre

Library of Genre

You also have the option to sort you favourite Movies/ TV Series or Anime by popularity, Year, Update, Name or Rating.

Sort Movies By Genre

Sort Movies By Genre

Settings Interface – Though you do not need to edit it unless you really mean it.

Settings Interface

Settings Interface

Search for a movie of choice using the search box above.

Search Movies

Search Movies

About Popcorn Time – Thanks to all the Designers and Developers who contribution make it project a success.

About Popcorn Time

About Popcorn Time

Conclusion

I personally feel this tool very Impressive. The real time torrent download and streaming of movie is brilliant. The tool really is a better alternative to Netflix. It is working out of box and seems promising. You will never let it go if you are a movie-hunter.

That’s all for now.

Source

Create A “.deb Package Repository” at Sourceforge.net Using “Reprepro” Tool in Ubuntu

Reprepro is a small command-line tool to create and manage .deb repositories easily, Today we’ll be showing how to create a Debian package repositories easily using reprepro and how to upload it to Sourceforge.net using rsync command.

Create Deb Package Repository

Create Deb Package Repository

Step 1: Install Reprepro and Generate Key

First, install all the necessary packages, using the following apt-get command.

$ sudo apt-get install reprepro gnupg

Now you need to generate a gpg key using gnupg, to do this, apply this command.

$ gpg --gen-key

It will ask you some questions, like the kind of the key you want, how long the key should be valid, if you don’t know what to answer, just click Enter for the default options (recommended).

Of course, it will ask you for a username and a password, keep those in mind, because we will need them later.

gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) Y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: ravisaive
Email address: tecmint.com@gmail.com
Comment: tecmint
You selected this USER-ID:
    "Ravi Saive (tecmint) <tecmint.com@gmail.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

+++++
gpg: key 2EB446DD marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/2EB446DD 2014-06-24
      Key fingerprint = D222 B1C9 342E 5911 02B1  9147 3BD6 7918 2EB4 46DD
uid                  Ravi Saive (tecmint) <tecmint.com@gmail.com>
sub   2048R/7EF2F750 2014-06-24

Now your key will be generated, to Check if so, run this command as a root privileges.

$ sudo gpg --list-keys
Sample Output
/home/ravisaive/.gnupg/pubring.gpg
----------------------------------
pub   2048R/2EB446DD 2014-06-24
uid                  ravisaive (tecmint) <tecmint.com@gmail.com>
sub   2048R/7EF2F750 2014-06-24

Step 2: Create a Package Repository and Export Key

We’ll start the work now to create the repository, first you have to create some folders, our repository will be in /var/www/apt directory, so let’s create some folders.

$ sudo su
# cd /var/www
# mkdir apt
# mkdir -p ./apt/incoming 
# mkdir -p ./apt/conf
# mkdir -p ./apt/key

You have now to export the key you created to the repository folder, run.

# gpg --armor --export username yourmail@mail.com >> /var/www/apt/key/deb.gpg.key

Note: Replace username with the username you entered in above step, and yourmail@mail.com with your email.

We need to create a file called “distributions” inside /var/www/apt/conf.

# touch /var/www/apt/conf/distributions

Add these following lines to the distributions file and save the file.

Origin: (yourname)
Label: (name of repository)
Suite: (stable or unstable)
Codename: (the codename for the distribution you are using, like trusty)
Version: (the version for the distribution you are using, like 14.04)
Architectures: (the repository packages  architecture, like i386 or amd64)
Components: (main restricted universe multiverse)
Description: (Some information about the repository)
SignWith: yes

Next, We’ll have to create the repository tree, to do this, run those commands.

# reprepro --ask-passphrase -Vb /var/www/apt export
Sample Output
Created directory "/var/www/apt/db"
Exporting Trusty...
Created directory "/var/www/apt/dists"
Created directory "/var/www/apt/dists/Trusty"
Created directory "/var/www/apt/dists/Trusty/universe"
Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/InRelease.new'

Step 3: Add Packages to Newly Created Repository

Now prepare your .deb packages to be added to the repository. Go to the /var/www/apt directory, you have to do this each time you want to add packages.

# cd /var/www/apt
# reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb

Note: Replace trusty with the codename you entered for the repository in the distributions file, and replace /home/username/package.deb with the path to the package, you will be asked for the passphrase to enter.

Sample Output
/home/ravisaive/packages.deb : component guessed as 'universe'
Created directory "./pool"
Created directory "./pool/universe"
Created directory "./pool/universe/o"
Created directory "./pool/universe/o/ojuba-personal-lock"
Exporting indices...
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <tecmint.com@gmail.com> needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/InRelease.new'

Your package is added to the repository, to remove it.

# reprepro --ask-passphrase -Vb /var/www/apt remove trusty  package.deb

And of course, you need to modify the command with your package name and the repository codename.

Step 4: Upload Repository to Sourceforge.net

To upload the repository to Sourceforge.net, you need to have a running account there of course, and a running project, let’s assume that you want to upload the repository to http://sourceforge.net/projects/myfoo/testrepository where myfoo is your project name (UNIX name, not URL, not the Title), and testrepository is the folder where you want to upload the files into, We will do this using rsync command.

# rsync -avP -e ssh /var/www/apt/ username@frs.sourceforge.net:/home/frs/project/myfoo/testrepository/

Note: Replace username with your username on sourceforge.net and myfoo with your project UNIX-name and testrepository with the folder you want to store the files in.

Now thats your repository is uploaded to http://sourceforge.net/projects/myfoo/testrepository, to add it to your installed system, first you have to import the repository key, it will be in /var/www/apt/key/deb.gpg.key, but that’s a local path and the users for your repository won’t be able to add it to their systems, thats why we’ll be importing the key from sourceforge.net.

$ sudo su
# wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -

You can add the repository easily now to your system, open /etc/apt/sources.list and add this line.

deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main

Note: Replace myfoo with your project UNIX-Name, trusty with your repository codename, testrepository with the folder you uploaded the files into, and main with repository components you added to the distributions file.

Next, run following to update the repositories list.

$ sudo apt-get update

Congratulations! Your repository is active! You can now install packages easily from it if you want.

Source

Suplemon – A Powerful Console Text Editor with Multi Cursor Support

Suplemon is an open source, modern, powerful, intuitive and feature-rich command-line text editor with multi cursor support; it replicates Sublime Text like functionality in the terminal with the use of Nano. It is highly extensible and customizable; allows you to create and use your own extensions.

Suplemon Editor in Action

Suplemon Editor in Action

Suplemon Features:

  • Supports proper multi cursor editing.
  • Syntax highlighting with text mate themes.
  • Supports autocomplete (based on words in the files that are open).
  • Offers easy Undo/Redo functionality.
  • Supports copy and paste, with multi line support (and native clipboard support on X11 / Unix-based systems).
  • Supports multiple files in tabs.
  • Has a powerful Go To feature for jumping to files and lines.
  • Offers Find, Find next and Find all functionality.
  • Supports custom keyboard shortcuts (and easy-to-use defaults).
  • Also has mouse support.
  • Can restore cursor and scroll positions when reopening files and more.

How to Install Suplemon Text Editor in Linux Systems

To install Suplemon Text Editor, you just need to clone the repository and install it as shown.

$ git clone https://github.com/richrd/suplemon.git
$ cd suplemon
$ python3 suplemon.py

You can also install the latest version of Suplemon Text Editor on system wide using PIP utility as shown.

$ sudo pip3 install suplemon
$ sudo python3 setup.py install

How to Use Suplemon Text Editor in Linux Systems

Once you have Suplemon Text Editor installed, the suplemon configuration file is stored at ~/.config/suplemon/suplemon-config.json and you can use it like any other terminal text editor, like this.

$ suplemon filename  #in current directory
$ suplemon /path/to/filename

To enable system clipboard support, install xsel or pbcopy or xclip package on your system.

$ sudo apt install xclip	 #Debian/Ubuntu
# yum install xclip	         #RHEL/CentOS
# dnf install xclip	         #Fedora 22+

Now try to edit any files using suplemon text editor as shown.

$ suplemon topprocs.sh

Edit Files Using Suplemon

Edit Files Using Suplemon

Following are a few basic Keymap Configs used by suplemon. They can be edited by running the keymapcommand. To view the default keymap file run keymap default.

  • Exit – Ctrl+Q
  • Copy line(s) to buffer – Ctrl+C
  • Cut line(s) to buffer – Ctrl+X
  • Save current file – Ctrl+S
  • Search for a string or regular expression (configurable) – Ctrl+F
  • Run commands – Ctrl+E

Note: The recommended way to edit the configuration file is to run the config command, it will automatically reload the configuration when you save the file. And you can view the default configuration and see what options are available by running config defaults command.

To get more help hit [Ctrl+H] in the editor. You can also find more information such as keymap configs, mouse shortcuts as well as commands from the Suplemon Github repository.

Suplemon is a modern, powerful, intuitive, highly extensible and customizable console text editor. Try it out and use the comment form below to share with us, your thoughts about it.

Source

How to Record Your Desktop Video and Audio Using “Avconv” Tool in Ubuntu

Libav is a set of cross-platform libraries and tools that are used to deal with multimedia files, streams and protocols, it was originally forked from the ffmpeg project. Libav includes many sub-tools like:

  1. Avplay: a video & audio player.
  2. Avconv: a multimedia converter plus a video & audio recorder from different sources.
  3. Avprobe: a tool that connects to the multimedia file stream and returns many useful information and statistics about it.
  4. Libavfilter: a filtering API for different Libav tools.

In this article, we’ll explain how to record the Linux desktop’s video & audio using the ‘Avconv’ program on Debian/Ubuntu/Linux Mint distributions.

Step 1: Installing Avconv Tool

1. avconv is a part from the “libav-tools” package, which is available to install from the official repositories for all Debian-based distributions like Ubuntu and Mint, using following commands.

$ sudo apt-get update
$ sudo apt-get install libav-tools

Install Avconv in Ubuntu

Install Avconv Tool

Note: Installing packages from default repositories, might give you a little older version of ‘avconv‘ tool. Thus, we recommend you to get the latest version from the official git repository, as shown below.

$ sudo apt-get install yasm
$ git clone git://git.libav.org/libav.git
$ cd libav
$ ./configure
$ make
$ sudo make install

Note: You will have to run “./configure –help” in order to list all the available options for the configuration file and install codecs and libraries that you want, you will also need to do a lot of work in order to install the dependencies.

Also note, if you’re used the compile-from-source way, you’ll always have to use “sudo avconv” instead of “avconv” to run the tool.

Step 2: Start Video Recording of Desktop

2. You’re ready now, all what you have to do is to record your desktop video by issuing following command.

$ avconv -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 $HOME/output.avi

Now let’s explain the command in short:

  1. avconv -f x11grab is the default command to capture video from the X server.
  2. -r 25 is the frame rate you want, you may change it if you like.
  3. -s 1920×1080 is your system’s screen resolution, change it to your current system resolution, it’s very important to do this.
  4. -i :0.0 is where we want to set our recording start point, leave it like this.
  5. -vcodec libx264 is the video codec that we’re using to record the desktop.
  6. -threads 4 is the number of threads, you may change it as well if you like.
  7. $HOME/output is the destination path where you want to save the file.
  8. .avi is the video format, you may change it to “flv”, “mp4”, “wmv”, “mov”, “mkv”.

3. After you enter the command, the recording will start automatically as a process running from the terminal, in order to stop it, hit “Ctrl + C” keys inside the terminal window.

Record Desktop Screen in Ubuntu

Record Desktop Screen

4. Now, you may run the file using VLC or any other multimedia player, or you may run it using “avplay” tool which is a multimedia player from the same Libav package.

$ avplay $HOME/output.avi

Note: Don’t forget to replace the destination file path. The recording’s quality is pretty good.

Play Recorded Video

Play Recorded Video

Here’s a video that I’ve recorded using the “avconv” tool.

Step 3: Start Video & Audio Recording of Desktop

5. If you want to record the audio as well, first run this command to list all the available input sources for the audio.

$ arecord -l

It will give you some output like this.

Check Audio Input in Ubuntu

Check Audio Input

In my case, I’ve one input source for audio only, and its number is “1”, that’s why I am going to use the following command to capture both video & microphone audio.

$ avconv -f alsa -i hw:1 -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 output-file2.avi

You see that part which is colored in yellow? It’s the only modification that I did for the command. Now let’s explain the command in short:

  1. -f alsa is an option to capture the sound from the alsa device.
  2. -i hw:1 is an option to take the audio input source from the “hw:1” device which is the first – and the only – input sound device in my computer.

Note: Don’t forget to replace the “1” number with the number of the input device that you want when you list the available audio input sources using the arecord -l command.

To stop the recording, you may hit the “Ctrl + C” keys again.

Step 4: Start Audio Recording of Desktop

6. If you want to record the audio only, you may use the following command.

$ avconv -f alsa -i hw:1 out.wav

7. You may replace .mp3 with any supported audio format by Libav, you can now play the out.wav using any mutlimedia player like VLC.

Record Desktop Audio in Ubuntu

Record Desktop Audio

Conclusion

avconv” tool can be used to do many other things, not just to record the desktop’s video and audio. For further usage and details about the “avconv” tool, you may visit the official guide at.

https://libav.org/avconv.html

Read Also10 Avconv Commands to Record and Convert Multimedia Files

Have you used the “avconv” tool before to record your desktop? What do you think about it? Is there any other tools that you use to record your desktop? Share them with us in the comments.

11 ‘Avconv’ Commands to Record, Convert and Extract Videos & Audios from Linux Terminal

In the previous article, we talked about How to Record Desktop Video & Audio Using ‘Avconv’ Tool. We mentioned that there are many other ways of usage for the “avconv” tool to deal with multimedia streams and files.

  1. Record Your Desktop Video and Audio Using ‘Avconv’ Command

Avconv Command Examples

Avconv Command Examples

In this article we’re going to discover the most important 10 commands to use with the “avconv” program.

Just to make sure, you need to have the “avconv” tool installed in order to use, to install it under Debian/Ubuntu/Mint, run the following commands:

$ sudo apt-get update
$ sudo apt-get install libav-tools

1. Get Video and Audio File Information

If you want to get some information about any multimedia file, run the following command using option ‘-i‘ (information) with avcon command and input your audio or video file.

$ avconv -i Michael-Jackson-You-Rock-My-World-HD.mp4 

avconv version 11-6:11-1, Copyright (c) 2000-2014 the Libav developers
  built on Sep 26 2014 14:34:54 with gcc 4.9.1 (Ubuntu 4.9.1-15ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Michael-Jackson-You-Rock-My-World-HD.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2013-12-04 15:45:45
  Duration: 00:09:43.05, start: 0.000000, bitrate: 1898 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720, 1703 kb/s, 29.97 fps, 60k tbn, 59.94 tbc (default)
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2013-12-04 15:46:06
At least one output file must be specified

Get Multimedia File Info

Get Multimedia File Info

2. Extract Audio from Video File

To extract the audio only from any video file, and to output it to another file, you may run the following command.

$ avconv -i Michael-Jackson-You-Rock-My-World-HD.mp4 -vn -f wav sound.wav

Some points about the above command:

  1. Don’t forget to replace the input file name with your video file name.
  2. -vn is an option that we use to remove the video from the multimedia file.
  3. -f wav is the format we want our output file to use it, you can switch to “mp3” or “webm” if you want.
  4. sound.wav is the name of the output file.

Extract Audio from Video

Extract Audio from Video

3. Extract Video from Audio File

You can also extract the video only from a multimedia file that contains both video & audio using the following command.

$ avconv -i You-Rock-My-World.avi -vcodec libx264 -an -f mp4 video.mp4

Description about the above command:

  1. -an is an option to drop the audio from the file.
  2. mp4 is the format we want to use for our new file, you can change to “mkv”, “ogg”.. etc, remember, you will have to change the “video.mp4” to “video.mkv” as well.

Extract Video from Audio in Linux

Extract Video from Audio

4. Convert .avi to .mkv Format

To convert an .avi file to .mkv format, use the following command.

$ avconv -i You-Rock-My-World.avi -vcodec libx264 You-Rock-My-World.mkv
  1. -i source-file.avi is the file that we want to convert (-i = -input).
  2. -vcodec is an option that we use to choose a video codec to use while processing the conversion, in our case it is “libx264”, this option is important in order to keep the video quality as it is.
  3. newfile.mkv is the output file name.

Convert Avi to Mkv Format in Linux

Convert Avi to Mkv Format

5. Convert .mp4 to avi Format

To convert n .mp4 file to .avi format, run the following command.

$ avconv -i Michael-Jackson-You-Rock-My-World-HD.mp4 -vcodec libx264 newfile.avi

Convert mp4 to Avi Format in Linux

Convert mp4 to Avi Format

6. Convert .mp3 to .wav Format

Nothing new here.. We inputed a file, we outputted another 🙂 Note that here, we don’t have to use the -vcodec libx264 option, because we’re converting an audio file to another audio file, there’s no video here.

$ avconv -i michael-jackson-dangerous.mp3 newfile.wav

Convert mp3 to wav Format in Linux

Convert mp3 to wav Format

7. Convert .yuv to .avi Format

You can change the format depending on your needs in the previous commands if you want, make sure that the format you choose is supported by Libav.

$ avconv -i oldfile.yuv newfile.avi

8. Merge Video and Audio Together

To merge a video file with an audio file together, run the following command.

$ avconv -i the-sound-file.wav -i the-video-file.avi the-output-file.mkv

You can replace “the-output-file.mkv” with “the-output-file.avi” or any other supported format by Libav (Don’t ask me about it, try them all by yourself!).

9. Convert Video into Images

To convert a video file into several different images, you may run the following command.

$ avconv -i Michael-Jackson-You-Rock-My-World-HD.mp4 -r 1 -s 1366x768 -f image2 image-%03d.png
  1. -r 1: is the number of frames you want per image, the more it is, the more images are created.
  2. 1366×768: is the width and height you want for the images, you may replace it with any other size you want.
  3. image-%03d.png: is the image name format, if you tried the command, it’ll create many images like “image-001.png” , “image-002.png”.. etc, you can replace “png” with “jpg” or “jpeg” if you like.

Convert Video into Images

Convert Video into Images

Capture Images from Video

Capture Images from Video

10. More Options to use with Libav

In Libav, there are an amazing things called “filters”, using filters, you can do many great things to your multimedia files. For example, take the following command.

$ avconv -i input-video.avi -vcodec libx264 -vf "drawbox=x=50:y=50:width=400:height=300:color=red@0.5" output-video.avi
  1. -vf: is an option to apply a video filter (If you want to use an audio filter, replace it with -af).
  2. drawbox=x=50:y=50:width=400:height=300:color=red@0.5: Here we applied a filter called “drawbox” which draws a red box with 400 width and 300 height at x=50 and y = 50.

And here’s the result of the above command.

Use Filters with Libav

Use Filters

And take the following command for example,

$ avconv -i input-file.avi -vcodec libx264 -vf "transpose=cclock" output-file.avi
  1. transpose=cclock is a video filter that rotates the video by 90 degree clockwise.

Here’s an image for what you’ll get.

Rotate Videos from Terminal

Rotate Videos

11. Record tty as a Video

This command must be used by the root user, it won’t work without sudo, because it requires access to the framebuffer device (fbdev). fbdev is the Linux framebuffer input device, this device is the responsible device for showing the graphics in the console.

$ sudo avconv -f fbdev -r 30 -i /dev/fb0 out.avi
  1. * -r 30: is the number of frames per second.
  2. * -i /dev/fb0: is the running file device node, by using this option, we’ll be able to capture the video from the tty.

Amazing isn’t? There are many other good filters to use with your multimedia files beside many other ways of usage for avconv, you can check them all from the official documentation at

Avconv Command Usage

Have you tried the advance usage for Libav before? What do you think about it? Do you have any other important commands for avconv? Share them with us in the comments!

Source

How to Track Business or Personal Expenses Using GnuCash (Accounting Software) in Linux

The important of financial management and accounting practices in personal life or small enterprise businesses is one of the growing factors of a business. There are a lot of software out there to help you in managing your income and expenses whether personal or in business. One of such software is GnuCash and in this guide, I will show you how to install GnuCash on different Linux distributions.

GnuCash Linux Finance Accounting Software

GnuCash Linux Finance Accounting Software

GnuCash is a free and Open source, simple to use financial accounting software. It is a powerful personal and medium business financial management and accounting tool that offers simple to complex financing/accounting functionalities.

It is available on GNU/Linux, Solaris, BSD, Windows and Mas OS operating systems and supports database management systems such as MySQL/MariaDB, PostgreSQL and SQLite3.

GnuCash has the following features:
  1. Customer and vendor tracking.
  2. Multiple currency support.
  3. Personal/business income and expenses tracking.
  4. Bank account tracking with online banking support.
  5. Transaction matching and searching.
  6. Scheduled transactions and financial calculations.
  7. Double entry accounting and general ledge support.
  8. Generation of reports and graphical illustrations.
  9. Import and export support options and many more.

How to Install GnuCash on RHEL/CentOS/Fedora and Debian/Ubuntu

Let us now look at how you can be able to get this software working on your system. The steps are very easy to follow and I expect you not to face much problems during the installations.

In most Linux distributions the version of GnuCash comes with bundled, though it’s not always the most latest version and by default it may not have been installed, but it’s still recommended that you use the GnuCashversion that comes with your respective Linux distributions.

Install GnuCash on RedHat, CentOS and Fedora

First make sure to update your system and it’s repositories to get the most recent version of GnuCash.

# yum update      
# dnf update       [On Fedora 22+ versions]

Fedora older and newer distribution releases can easily install GnuCash from system repositories as shown:

# yum install gnucash    [On Fedora older versions]
# dnf install gnucash    [On Fedora 22+ newer versions]

In RedHat and CentOS distributions, GnuCash haven’t included by default in system repositories. It can only be installed using third-party Epel repository. For more information on how to install and enable additional package repository for this setup, see Epel’s installation page.

Alternatively, you can also install Epel repository and GnuCash with the following series of commands.

# yum install epel-repository
# yum install gnucash

Install Epel Repository in RedHat and CentOS

Install Epel Repository in RedHat and CentOS

Install GnuCash in CentOS and RedHat

Install GnuCash in CentOS and RedHat

Install GnuCash on Debian, Ubuntu and Linux Mint

First, you will need to update your system by running the command below:

$ sudo apt-get update

Update System

Update System

Then install it using the following command:

$ sudo apt-get install gnucash

Install GnuCash on Debian, Ubuntu and Mint

Install GnuCash on Debian, Ubuntu and Mint

You can as well install it via “Software Center” by searching for gnucash and installing it.

How to Use GnuCash in Linux

You can start and use GnuCash from the terminal as follows or launch from the application menu.

# gnucash

Starting GnuCash

Starting GnuCash

The screen shot below shows the interface for a user to add his/her bank account details for bank account tracking.

GnuCash Create New Account

GnuCash Create New Account

To add new business customer, you can access the interface below by going to Business –> Customer –> New Customer.

GnuCash Create Business Account

GnuCash Create Business Account

To add a new business employee. It can be accessed by going to Business –> Employee –> New New Employee.

GnuCash Add New Employee

GnuCash Add New Employee

You can access the general ledger interface by going to Tools –> General Ledger.

GnuCash General Ledger

GnuCash General Ledger

GnuCash also offers users a loan payment calculator hence no need use external calculators.

GnuCash Loan Payment Calculator

GnuCash Loan Payment Calculator

Conclusion

There are many financial management and accounting software being used out there and GnuCash just offers you similar functionalities with powerful and improved results, yet maintaining a simple usability features.

Hope you find this guide useful and please leave a comment about areas where you need more clarity or even tell us about other related software that you have used. Thanks for reading and always stay connected to Tecmint.

Referenceshttp://www.gnucash.org/

Source

How to Migrate from GitHub to GitLab

As you may very well know, Gitlab is among the best alternatives to Github, the first that comes to mind, from the available options. Gitlab is a scalable and efficient Git-based fully featured platform for software development: it supports a complete DevOps lifecycle.

Read AlsoHow to Install and Configure GitLab on CentOS 7

Do you have projects on Github and want to migrate to Gitlab? In this article, we will explain how to migrate from Github to Gitlab and also we will explain how to import your open source project from Github to Gitlab in a few easy steps, using the GitHub integration feature.

Attention: The instructions below work for users on Gitlab.com, for a self-hosted Gitlab instance, you have to manually enable the GitHub integration feature to use this method.

Requirements:

Before going any further, ensure that:

  • Both your Github and Gitlab accounts are created using the same public email account or.
  • You logged into the GitLab account using the GitHub icon, meaning you use the same email address for both accounts.

The above requirements also apply to all other users who are attached to your Github project, that you want to map to Gitlab.

Migrating From Github to Gitlab

1. First go to Gitlab Sign In page and then sign in with the Github icon, or Register with the same email address you used for registering with Github.

GitLab Sign In

GitLab Sign In

2. After successfully signing in, go to the top navigation bar, click on + and choose New project and enter path of your New Project as shown.

GitLab Create New Project

GitLab Create New Project

3. Next, click on the Import project tab and then choose GitHub from the available options as shown in the screenshot.

Select GitHub Repository Source

Select GitHub Repository Source

4. You will be redirected to the repository importation page, click on List your GitHub repositories.

List GitHub Repositories

List GitHub Repositories

5. Then, you should be redirected to an external application authorization page on github.com to authorize the GitLab, as shown in this screenshot. Click Authorize gitlabhq.

Authorize Github to Gitlab Repository

Authorize Github to Gitlab Repository

6. You will be redirected back to Gitlab’s import page where you should see a list of all your GitHub repositories. Click on Import from the status column, for each repository you want to import from Github to Gitlab.

Import Github Repositories to Gitlab

Import Github Repositories to Gitlab

7. Once your repository is imported, its status will change to Done as shown in this screenshot.

Github Repositories Imported to Gitlab

Github Repositories Imported to Gitlab

8. Now from your Gitlab Projects list, the repository you just imported should be there.

Migrated GitHub Proects to GitLab

Migrated GitHub Proects to GitLab

For more information, go to the GitLab Docs page.

That’s all! In this article, we have explained how to migrate from Github to Gitlab. If you have any questions, or thoughts to share, reach us via the feedback form below.

Source

Install and Access Facebook Messenger on Linux Desktop

linuxmessenger app is a “Facebook-like” client for Linux desktop was written in Python language. It allows you to login to your Facebook account right from the command line without installing it on your system and have chat with your loved ones with much a like a Facebook interface. If you want, you can install it as a desktop client. This application has some built-in features like desktop notificationspop-up alertfriends request and chat sound (with On/Off options).

Install Facebook Messenger in Linux

Facebook Messenger for Linux

Installing Facebook Messenger

The installation is very straightforward, simply open the terminal and install python3PyQt4 dependencies packages required by the application to run.

# apt-get install python-setuptools python3-setuptools python-qt4-phonon python-qt4-phonon python3-pyqt4.phonon

Next, download the linuxmessenger zip file from the github page, using wget command. Once downloaded, extract it to your desired directory or home directory. You should get the folder similar to “linuxmessenger-master”.

# wget https://github.com/oconnor663/linuxmessenger/archive/master.zip
# unzip master.zip

To verify, whether application is working, Go to the extracted folder “linuxmessenger-master” and run the “fbmessenger” script file.

# cd linuxmessenger-master/
# ./fbmessenger

A “Facebook Messenger” window opens, Enter your Facebook login credentials and chat with your friends.

Install Facebook Messenger in Ubuntu

Facebook Messenger in Ubuntu 13.10

If you would like to install this application as a desktop client, simply run the “setup.py” script or you just execute the “fbmessenger” from the terminal and have everything as desktop client.

# ./setup.py install

There are also builds for RPM based and Debian distributions, so you can install and build it on most distro. As I said the script written in Python language, so it should work on all Linux platforms as long as required dependencies packages are fulfilled.

Source

WP2Social Auto Publish Powered By : XYZScripts.com