I have Logitech c920 set up. With help from an experienced AskUbuntu user, I installed GUVCview, Video4 linux control panel, and QT V4L2 utility tester on here. I am able to change from my Toshiba's built in webcam to my external webcam using GUVCview.

However, when I start a videochat on Google Hangouts, it automatically selects my built in laptop camera as default. I would like to change my default settings to always use external camera, but I can't find where this option is. I'm running Windows 7 and Ubuntu 12.04 LTS on Toshiba Satellite L755

memory: 3.8 Gib

processor: Intel® Core™ i5-2410M CPU @ 2.30GHz × 4

graphics: Intel® Sandybridge Mobile

OS-type 64bit

disk: 40.2 GB

EDIT: I tried Gstreamer-properties in terminal and changed default input under video to Logitech external cam. Still no luck. When I "test" I get no picture, and still get laptop cam when I open GUVC.

2nd EDIT: After installing Multi media selector in terminal , I was still not able to find it in Dash. Here's the readout after running command:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gconf-service is already the newest version.
gconf-service set to manually installed.
gconf2 is already the newest version.
gconf2 set to manually installed.
libatk1.0-0 is already the newest version.
libatk1.0-0 set to manually installed.
libgconf-2-4 is already the newest version.
libgconf-2-4 set to manually installed.
libgnome-media-profiles-3.0-0 is already the newest version.
libgnome-media-profiles-3.0-0 set to manually installed.
libgstreamer0.10-0 is already the newest version.
libgstreamer0.10-0 set to manually installed.
dpkg is already the newest version.
gnome-media is already the newest version.
gstreamer0.10-gconf is already the newest version.
gstreamer0.10-gconf set to manually installed.
gstreamer0.10-plugins-base is already the newest version.
gstreamer0.10-plugins-base set to manually installed.
gstreamer0.10-plugins-good is already the newest version.
gstreamer0.10-plugins-good set to manually installed.
libc6 is already the newest version.
libglib2.0-0 is already the newest version.
libgstreamer-plugins-base0.10-0 is already the newest version.
libgstreamer-plugins-base0.10-0 set to manually installed.
libgtk-3-0 is already the newest version.
libgtk-3-0 set to manually installed.
x11-utils is already the newest version.
x11-utils set to manually installed.
The following packages were automatically installed and are no longer required:
  gir1.2-ubuntuoneui-3.0 linux-headers-3.2.0-54 libubuntuoneui-3.0-1
  thunderbird-globalmenu linux-headers-3.2.0-54-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

If I run Gstreamer-properties in terminal I get the multimedia selector. I change default input to external,the blue light on external cam lights up(when I press "test"), but no picture. Here's a screenshot of setings

Gstreamer settings

3rd EDIT: After running it as root with sudo gstreamer-properties I changed default input to HD webcam (same settings as previous screenshot) and stil when I open GUVC it opens as laptop camera. Here is what the readout was after running SUDO

(gstreamer-properties:15236): Gtk-WARNING **: Unknown property: GtkDialog.has-separator

(gstreamer-properties:15236): Gtk-WARNING **: Unknown property: GtkDialog.has-separator
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'esdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosink'
gstreamer-properties-Message: Skipping unavailable plugin 'glimagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosrc'

When I tried to close Terminal, it said process still in use.

4TH EDIT, next day:

I followed the link below to Dumindu's

sudo apt-get install gstreamer-dbus-media-service gstreamer-tools gstreamer0.10-alsa gstreamer0.10-buzztard gstreamer0.10-buzztard-doc gstreamer0.10-crystalhd gstreamer0.10-doc gstreamer0.10-ffmpeg gstreamer0.10-ffmpeg-dbg gstreamer0.10-fluendo-mp3 gstreamer0.10-gconf gstreamer0.10-gnomevfs gstreamer0.10-gnonlin gstreamer0.10-gnonlin-dbg gstreamer0.10-gnonlin-doc gstreamer0.10-hplugins gstreamer0.10-nice gstreamer0.10-packagekit gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-doc gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-base-dbg gstreamer0.10-plugins-base-doc gstreamer0.10-plugins-cutter gstreamer0.10-plugins-good gstreamer0.10-plugins-good-doc gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-doc gstreamer0.10-pocketsphinx gstreamer0.10-pulseaudio gstreamer0.10-qapt gstreamer0.10-sdl gstreamer0.10-tools gstreamer0.10-vaapi gstreamer0.10-vaapi-doc gstreamer0.10-x

and ran that through terminal. After a few minutes, the script was done and I did not notice any failures or errors(I'll put copy below). However, when I then ran sudo gstreamer-properties I got the same " Skipping unavailable plugin" messages as above^. The default input on Multimedia systems selector is set to c920 HD cam, yet I just opened up GUVC and it opens laptop camera. Here's the readout after sudo apt get install.... TOO MANY CHARACTERS, couldn't post. Here's half:

ad-multiverse_0.10.21-1_amd64.deb) ...
Selecting previously unselected package gstreamer0.10-plugins-good-doc.
Unpacking gstreamer0.10-plugins-good-doc (from .../gstreamer0.10-plugins-good-doc_0.10.31-1ubuntu1.2_all.deb) ...
Selecting previously unselected package gstreamer0.10-plugins-ugly-doc.
Unpacking gstreamer0.10-plugins-ugly-doc (from .../gstreamer0.10-plugins-ugly-doc_0.10.18.3-1ubuntu1_all.deb) ...
Selecting previously unselected package libsphinxbase1.
Unpacking libsphinxbase1 (from .../libsphinxbase1_0.4.1-0ubuntu4_amd64.deb) ...
Selecting previously unselected package libpocketsphinx1.
Unpacking libpocketsphinx1 (from .../libpocketsphinx1_0.5.1+dfsg1-0ubuntu3_amd64.deb) ...
Selecting previously unselected package gstreamer0.10-pocketsphinx.
Unpacking gstreamer0.10-pocketsphinx (from .../gstreamer0.10-pocketsphinx_0.5.1+dfsg1-0ubuntu3_amd64.deb) ...
Selecting previously unselected package libattica0.3.
Unpacking libattica0.3 (from .../libattica0.3_0.3.0-0ubuntu2_amd64.deb) ...
Selecting previously unselected package libdlrestrictions1.
Unpacking libdlrestrictions1 (from .../libdlrestrictions1_0.14.2ubuntu5_amd64.deb) ...
Selecting previously unselected package libkdecore5.
Unpacking libkdecore5 (from .../libkdecore5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdeui5.
Unpacking libkdeui5 (from .../libkdeui5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkcmutils4.
Unpacking libkcmutils4 (from .../libkcmutils4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdeclarative5.
Unpacking libkdeclarative5 (from .../libkdeclarative5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkpty4.
Unpacking libkpty4 (from .../libkpty4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdesu5.
Unpacking libkdesu5 (from .../libkdesu5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libclucene0ldbl.
Unpacking libclucene0ldbl (from .../libclucene0ldbl_0.9.21b-2_amd64.deb) ...
Selecting previously unselected package virtuoso-opensource-6.1-common.
Unpacking virtuoso-opensource-6.1-common (from .../virtuoso-opensource-6.1-common_6.1.4+dfsg1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libvirtodbc0.
Unpacking libvirtodbc0 (from .../libvirtodbc0_6.1.4+dfsg1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package soprano-daemon.
Unpacking soprano-daemon (from .../soprano-daemon_2.7.5+dfsg.1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libsoprano4.
Unpacking libsoprano4 (from .../libsoprano4_2.7.5+dfsg.1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libnepomuk4.
Unpacking libnepomuk4 (from .../libnepomuk4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libsolid4.
Unpacking libsolid4 (from .../libsolid4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libstreams0.
Unpacking libstreams0 (from .../libstreams0_0.7.7-1.1ubuntu3_amd64.deb) ...
Selecting previously unselected package libstreamanalyzer0.
Unpacking libstreamanalyzer0 (from .../libstreamanalyzer0_0.7.7-1.1ubuntu3_amd64.deb) ...
Selecting previously unselected package libkio5.
Unpacking libkio5 (from .../libkio5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukquery4a.
Unpacking libnepomukquery4a (from .../libnepomukquery4a_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukutils4.
Unpacking libnepomukutils4 (from .../libnepomukutils4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkparts4.
Unpacking libkparts4 (from .../libkparts4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdewebkit5.
Unpacking libkdewebkit5 (from .../libkdewebkit5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdnssd4.
Unpacking libkdnssd4 (from .../libkdnssd4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkemoticons4.
Unpacking libkemoticons4 (from .../libkemoticons4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkfile4.
Unpacking libkfile4 (from .../libkfile4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkjsapi4.
Unpacking libkjsapi4 (from .../libkjsapi4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libktexteditor4.
Unpacking libktexteditor4 (from .../libktexteditor4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkhtml5.
Unpacking libkhtml5 (from .../libkhtml5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkidletime4.
Unpacking libkidletime4 (from .../libkidletime4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkmediaplayer4.
Unpacking libkmediaplayer4 (from .../libkmediaplayer4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libknewstuff3-4.
Unpacking libknewstuff3-4 (from .../libknewstuff3-4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libknotifyconfig4.
Unpacking libknotifyconfig4 (from .../libknotifyconfig4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukdatamanagement4.
Unpacking libnepomukdatamanagement4 (from .../libnepomukdatamanagement4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomuksync4.
Unpacking libnepomuksync4 (from .../libnepomuksync4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package ntrack-module-libnl-0.
Unpacking ntrack-module-libnl-0 (from .../ntrack-module-libnl-0_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libntrack0.
Unpacking libntrack0 (from .../libntrack0_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libntrack-qt4-1.
Unpacking libntrack-qt4-1 (from .../libntrack-qt4-1_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libqca2.
Unpacking libqca2 (from .../libqca2_2.0.3-2_amd64.deb) ...
Selecting previously unselected package libthreadweaver4.
Unpacking libthreadweaver4 (from .../libthreadweaver4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libplasma3.
Unpacking libplasma3 (from .../libplasma3_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package phonon.
Unpacking phonon (from .../phonon_4%3a4.7.0really4.6.0-0ubuntu1_amd64.deb) ...
Selecting previously unselected package kde-runtime-data.
Unpacking kde-runtime-data (from .../kde-runtime-data_4%3a4.8.5-0ubuntu0.2_all.deb) ...
Selecting previously unselected package libkde3support4.
Unpacking libkde3support4 (from .../libkde3support4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkjsembed4.
Unpacking libkjsembed4 (from .../libkjsembed4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkntlm4.
Unpacking libkntlm4 (from .../libkntlm4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkrosscore4.
Unpacking libkrosscore4 (from .../libkrosscore4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libpolkit-qt-1-1.
Unpacking libpolkit-qt-1-1 (from .../libpolkit-qt-1-1_0.103.0-1_amd64.deb) ...
Selecting previously unselected package kdelibs5-data.
Unpacking kdelibs5-data (from .../kdelibs5-data_4%3a4.8.5-0ubuntu0.2_all.deb) ...
Selecting previously unselected package libxml2-utils.
Unpacking libxml2-utils (from .../libxml2-utils_2.7.8.dfsg-5.1ubuntu4.6_amd64.deb) ...
Selecting previously unselected package kdoctools.
Unpacking kdoctools (from .../kdoctools_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package kdelibs-bin.
Unpacking kdelibs-bin (from .../kdelibs-bin_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package kate-data.
Unpacking kate-data (from .../kate-data_4%3a4.8.5-0ubuntu0.1_all.deb) ...
Selecting previously unselected package libkatepartinterfaces4.
Unpacking libkatepartinterfaces4 (from .../libkatepartinterfaces4_4%3a4.8.5-0ubuntu0.1_amd64.deb) ...
Selecting previously unselected package katepart.
Unpacking katepart (from .../katepart_4%3a4.8.5-0ubuntu0.1_amd64.deb) ...
Selecting previously unselected package kdelibs5-plugins.
Unpacking kdelibs5-plugins (from .../kdelibs5-plugins_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package oxygen-icon-theme.
Unpacking oxygen-icon-theme (from .../oxygen-icon-theme_4%3a4.8.3-0ubuntu0.1_all.deb) ...
Selecting previously unselected package shared-desktop-ontologies.
Unpacking shared-desktop-ontologies (from .../shared-desktop-ontologies_0.8.1-1_all.deb) ...

Just wanted to double check in Ubuntu Software Center to make sure Gstreamer was installed, and it shows everything installed Ubuntu Gstreamer installed

mike@Mike-Ubuntu12:~$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b289 Chicony Electronics Co., Ltd 
Bus 002 Device 003: ID 046d:082d Logitech, Inc. 
mike@Mike-Ubuntu12:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 2, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 2: Dev 3, If 3, Class=audio, Driver=snd-usb-audio, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 4: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 4: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

Based on the answer from @hopeithelps, it seems that programs take /dev/video0 to be the default webcam. On my system, /dev/video0 is initially the integrated camera, while /dev/video1 appears/disappears automatically when the external webcam is attached/detached.

So I just wrote a simple command to set /dev/video0 to point to the "best available camera" -- the webcam if it's present, and the integrated camera otherwise. At present I have to invoke this script manually after plugging/unplugging the webcam. However, the microphone automatically switches to the "best microphone" because I followed this askUbuntu answer.

Rant: Shouldn't Ubuntu have a unified approach to hot-plugging of display, camera, speaker, microphone (and also keyboard, mouse, MIDI, ...?). All these things seem to require separate tinkering. I think gnome-display-manager has the ideal design: it remembers my old settings when I plug in a display I've used before.

Here's the script:

# Make default camera /dev/video0 point to the "best" camera present.

if [ -h /dev/video0 ]; then 
   sudo rm /dev/video0   # not first run: remove our old symlink
elif [ -e /dev/video0 ]; then
   sudo mv /dev/video0 /dev/video0.original   # first run: rename original video0
if [ -e /dev/video1 ]; then
   sudo ln -s /dev/video1 /dev/video0   # symlink to video1 since it exists
   echo "Set default camera /dev/video0 --> external camera /dev/video1"
elif [ -e /dev/video0.original ]; then  # symlink to video0.original otherwise
   sudo ln -s /dev/video0.original /dev/video0
   echo "Set default camera /dev/video0 --> integrated camera /dev/video0.original"
   echo "Sorry, does this machine have no camera devices?"
   ls -l /dev/video*

Tested with guvcview and Google Hangouts, using two different Logitech webcams. I am running Ubuntu 13.10 (actually Mint Petra) on a Thinkpad T530i.

You may have to edit the script if your webcam appears as /dev/video3 or something, as it does for @hopeithelps. (Perhaps I should have made it choose the /dev/video* device that has the most recent timestamp ...)

  • Perfect! I agree it's not the best solution to the problem but this will do. If you're confused on how to get this running on your machine: create a file called default_cam.sh, paste the script @JasonEisner wrote and run sudo chmod +x default_cam.sh, then ./default_cam.sh – Dylan Pierce Apr 26 '16 at 12:05
  • I have the same issue, but when I do mv /dev/video0 /dev/video1.bak to rename the first camera (as root ofc) - the device vanishes, there is no /dev/video0 or /dev/video1.bak any more. So I cannot use this workaround. Any other ideas? – user1450663 Apr 12 at 18:08

I don't know if its the best way, but with the same webcam and problem I found using the command sudo rm /dev/video0 removes my webcam. It is gone till reboot. You may have to cd /dev and make sure your webcam is video0 my c920 is video3.

First you need to install the application Multimedia Systems Selector

sudo apt-get install gnome-media dpkg gconf-service gconf2 gstreamer0.10-gconf gstreamer0.10-plugins-base gstreamer0.10-plugins-good libatk1.0-0 libc6 libgconf-2-4 libglib2.0-0 libgnome-media-profiles-3.0-0 libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libgtk-3-0 x11-utils

Then open it and in its Video section, you can change the default webcam.

** This application can be opened with Terminal by running:

sudo gstreamer-properties
  • I did that earlier. I ran gstreamer-properties in terminal, then changed default input to the external webcam, but I did not get picture in "test". I kept it as set that way, and tried starting up hangouts, but still it chose my built in laptop camera at startup. – 5th Wheel Dec 28 '13 at 21:24
  • Run it as root. With sudo – user224082 Dec 28 '13 at 21:39
  • Ok Thanks. I ran as root. Changed the default input to the same as pictured in above screenshot, yet I still get laptop cam as default when I start up GUVC. There may have been a problem with SUDO command though. I posted the readout in edited question. When I tried to close terminal, it said it was still in use. When I "test" in Multimedia selector, the blue light on external lights up, but no picture. – 5th Wheel Dec 28 '13 at 21:50
  • Gstreamer is also needed for video handling. You can install it by following this answer. Try with installing it. – user224082 Dec 29 '13 at 2:28
  • Dumindu, I followed your link to your answer and ran the sudo apt get install script you provided. I am still getting same results. I edited my question above, if you have a chance to look. – 5th Wheel Dec 29 '13 at 15:45

Well this kind of fell dead in the water. I don't know if I should post another thread or what. I'm simply trying to make my external webcam my default webcam. I have Gstreamer installed (pictured) I have multimedia systems selector installed. I have default settings in Multimedia systems selector to set at Webcam c920, and yet when I open video chat or GUVC, it opens laptop cam. I got some help on this, and I followed through. But I still can't seem to get it to work. Does anyone have any ideas, or should I post somewhere else? Thanks

I think I have a solution. I don't know if you can get your laptop's own camera to work again, but at least I was able to make a USB as default.

I did it like this:

  1. sudo rm /dev/video0
    After this I couldn't start Camorama Webcam Viewer at all.
  2. sudo chmod -R 777 /dev
    This gives you permission to change file names
  3. mv /dev/video1 /dev/video0
    This renames your usb camera to dev0

After that I was able to see my USB camera automatically when I opened Camorama Webcam Viewer. I hope this helps.

  • 2
    I don't think it is a good idea to give 777 permission to /dev. – Mostafa Ahangarha May 21 '16 at 12:42

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.