Child Pages

How To Use SocketCAN With C++ In Linux
ContentsOverviewOpening InterfaceReading And WritinglibsocketcanExternal ResourcesOverview   Opening Interface Reading And Writing The data for reading and writing to the CAN bus is communicated through the can_frame struct which is declared and defined in <linux/can.h>. C struct can_frame { canid_t can_id; // 32-bit CAN_ID + EFF/RTR/ERR flags __u8 can_dlc; // Number of bytes used in data … Continue reading How To Use SocketCAN With C++ In Linux
How To Use SocketCAN With The Command-Line In Linux
A tutorial (incl. code examples) on how to investigate and send/receive data on SocketCAN using the command-line interface in Linux.
Keyboard Shortcuts
Shortcut Description Tested On Ctrl+Alt+ArrowKey Switch to a different workspace. Ubuntu Ctrl+Alt+Shift+ArrowKey Move window to a different workspace. Ubuntu Like this:Like Loading...
Explanations and usage examples on many of the common Linux programs such as ls, cp, mv, rm, awk, grep, sed, ssh, scp, rsync, find, fsk, kill, ps and more!
The Basic Essentials You Should Do After Installing Ubuntu
The system setup must do's for any Linux developer! Covers topics such as using the arrow keys for search history, increasing the workspace screen count and more!
Using Serial Ports In Linux
ContentsChanging The Permissions On A Serial PortChanging The Permissions On A Serial Port You can change the permissions for a serial port so you don’t have to keep using sudo by typing: C++ sudo chmod 666 /dev/ACM0 1 sudo chmod 666 /dev/ACM0 where /dev/ACM0 is the file corresponding to the serial port you wish to … Continue reading Using Serial Ports In Linux

System Calls

System calls provide the Linux between user space and kernal space.

See for a comprehensive table of all the Linux system calls.


The tty command displays the file name of the terminal connected to the standard input (i.e. the current terminal).

To list your open streams, type

$$ in the above example represents your bash shell PID.


scp (secure copy) is a way of copying files from one computer to another, in a similar manner to the SSH interface. The command has the following syntax:

Note that remote files have to be prefixed with username@address:. Only one of original-file and destination-file can be remote, at least one has to be local. Here is an example which copies a local file to a remote computer.

To copy whole directories, you can use the -r flag.


To connect to a computer using SSH and your current username/password.

JuiceSSH is a great SSH app for Andriod phones. It is a fully-featured terminal client, with support for SSH, local shell, Mosh and Telnet.

A Better Bash

One of my must-dos when using bash is to make the up and down arrow keys search through history in an auto-complete fashion with what you have already typed on the command line. To do this, add the following lines of code anywhere in your .bashrc file (which is located in the root user directory of Linux systems).

Remote Desktop

Install tightvncserver.

Then run tightvnc server by just typing:

To stop a vncserver, type:


Samba is software which allows file and printer sharing between computers, normally between Windows and *nix systems. The name samba goes from the acronym SMB (server message block), which is the standard protocol Microsoft uses for networked files.

Samba can be installed by typing:


Avahi includes a service for multi-cast DNS discovery.

Connecting A USB-To-Serial Adapter To A Linux Terminal

Linux should automatically recognise most USB-To-Serial Adapters when you plug them in and create a device in /dev/ called something like ttyUSB0.

This is what you will use to send/receieve information over the serial link.

Programs you can use include:

  • putty
  • minicom