Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Is there any built-in software or terminal method allowing me to view the hardware profiles on my system? Windows equivalent of such a feature would be Device Manager.

share|improve this question

5 Answers 5

up vote 47 down vote accepted

There are a few options:

  • lspci will show you most of your hardware in a nice quick way. It has varying levels of verbosity so you can get more information out of it with -v and -vv flags if you want it. The -k argument is a good way to find out which kernel driver a piece of hardware is using. -nn will let you simply know the hardware ID which is great for searching.

    But it is only a very simple, quick way of getting a list of hardware. I often ask people to post the output of it here when trying to identify their wireless hardware. It's great for things like that.

    It doesn't show USB hardware other than the USB busses.

    Here are two real world examples:

    Graphics:

    $ lspci -nnk | grep VGA -A1
    03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF110 [GeForce GTX 580] [10de:1080] (rev a1)
        Kernel driver in use: nvidia
    

    Networking:

    $ lspci -nnk | grep net -A2
    00:0a.0 Ethernet controller [0200]: NVIDIA Corporation MCP79 Ethernet [10de:0ab0] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: forcedeth
    --
    05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) [168c:001c] (rev 01)
        Subsystem: AMBIT Microsystem Corp. AR5BXB63 802.11bg NIC [1468:0428]
        Kernel driver in use: ath5k
    
  • lsusb is like lspci but for USB devices. Similar functionality with similar verbosity options. Good if you want to know what's plugged in.

  • sudo lshw will give you a very comprehensive list of hardware and settings.

    It gives you so much information, I suggest you pipe it through less or output it to a file and open that in something you can move around in:

    sudo lshw | less
    

    Of course this is usually a lot of information. You often only need info on a small subset of your hardware and lshw will let you select a category. If you just wanted to see your network devices, for example, run this:

    sudo lshw -c network
    
  • If you want something graphical, I suggest you look at hardinfo. You'll need to install it first:

    sudo apt-get install hardinfo
    

    You then just run it from the same terminal with hardinfo. I don't know that it has a menu location by default.

    But it can give you slightly more information (boots, available kernels, etc) than the other options, as well as giving you similar lists of PCI and USB hardware like the first two commands.

    It also provides some simple benchmarking. I think the developers aim to make it a replacement for Sandra (a popular Windows hardware information gathering tool).

    It even has options to output a nice report that you can send to somebody (though it can easily be too much information).

Hardinfo

share|improve this answer
3  
There's a need for a default graphical hardware management system similar to hardinfo... –  Oxwivi Mar 23 '11 at 10:42
    
What about driver modules? –  Oxwivi Mar 23 '11 at 10:45
    
@Oxwivi What of them? As I said lspci -k will show them, lshw shows them as a matter of course (look under the configuration=>driver stem) and hardinfo shows them when you select a device (the bottom pane in the screenshot will fill with more information for that device) –  Oli Mar 23 '11 at 10:49

There are several ways to gather hardware information. I will post all the possibilities I know. For further information on any of the programs please consult their man pages.

Option one

lshw which should be installed by default. You'll have to run it as super user (sudo).

It will present a very detailed list of pretty much every component. To get a shorter list representation you can use the -short flag.

You can make it output the information in several ways.

Option two

hwinfo which you'd have to install. It is in the repositories.

It does also present the components in a very detailed fashion. Here the --short flag will give you a nice hardware category sorted list.

With the --[hwtype] option you can get detailed information about a selected hardware type only, which is quite handy sometimes.

I don't know of any one-in-all solution to dis/enable hardware or drivers. Drivers generally are kernel modules which you can enable (add) and disable (remove) using the modprobe command.

Using lsmod you can find out which modules are currently loaded.

share|improve this answer
1  
Great recommendations. How does hwinfo differentiate from lshw? –  Oxwivi Mar 23 '11 at 10:37
    
Mainly by the information representation and lshw lists slightly more information. –  Octavian Damiean Mar 23 '11 at 10:39
    
I see, then sudo lshw -short easily solves the need for info to quote in bug reports. –  Oxwivi Mar 23 '11 at 10:44
    
How exactly is the modprobe commands used? Can you give an example of a module being loaded and disabled? –  Oxwivi May 2 '11 at 9:45
    
That is a separate question. –  Octavian Damiean May 2 '11 at 9:48

HardwareLiSter is a useful tool that can show you detailed info on all the hardware on your system in a nice GUI interface.

If you prefer to use a terminal try sudo dmidecode which will give you a very detailed list of all the hardware too.

share|improve this answer
1  
+1 for dmidecode. –  totti Aug 20 '13 at 10:15

Device Manager from the Ubuntu Software Centre.

share|improve this answer

lshw is a very good command that tells you a very detailed information of your hardware. If you don't want to install something else like hardinfo then it will be very good command. But use lshw (you can say list hardware to remember this command) with -html or -xml options to get the information in more interactive way.

Here it illustrates

    $ sudo lshw | less (or more)
    $ sudo lshw -html > myhardware.html
    $ sudo lshw -xml > myhardware.xml

Now just open .html or .xml files created in your current directory to get a complete description of your hardware.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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