If you run Gnome or KDE Plasma as your desktop environment, there are built in tools for you to calibrate your screen. You just need to find an .icm or .icc profile file that matches your screen to calibrate it. (See below to find one that matches the X230 with the IPS screen.) I have run LXDE up to now and have just switched to LXQt. Neither of these lighter and smaller desktop environments have a built in screen calibrator, so I needed to find another solution. The solution I found will work in any desktop environment or window manager as long as you use X11.
(I would think colour calibration is one of those issues where Wayland will not be as easy to work with since there are so many different Wayland implementations due to the nature of it being only a protocol and not a display server like X11. Maybe each desktop environment or window manager needs to make their own solution (or a common one if they share the compositor like it seems many are planning to do with Mir). Well, I don’t really know much about Wayland, so this paragraph is in parenthesis.)
I first tried using DisplayCAL to calibrate my screen. To get it to calibrate my screen, I also needed a profile to use. I downloaded some files from Lenovo’s website for use with Windows 8, dug through one of the files to find which of the other files to use which demanded looking at vast amounts of irrelevant data before finding what I wanted, and then had to extract the file I needed from a Windows executable file (.exe) with Wine to find the profile I needed. It took a lot of time and was mind-bogglingly cumbersome. One would think that Lenovo, being the supplier of computers to the largest Linux software company, Red Hat, could have just supplied the relevant profile on the support pages for the X230 so Linux users wouldn’t have to run Windows executables to get to the profile.
When I started DisplayCal and loaded the .icm file for the screen, it gave me an error message that the file did not contain any info for correction. DisplayCAL is a bit of an overkill for what I wanted to do anyway since it is made to be used with colour calibration hardware to make a profile fitting the screen before applying the profile to the screen. I just wanted to apply the profile to the screen to correct the colour rendering. Anyway, it did not work whatever way I tried to load the profile which was quite frustrating after spending lots of time getting to the profile in the first place. After a while, I had to give up. I don’t know why it didn’t work. It just didn’t work.
I then turned to another solution I found on the Arch Wiki when I searched for icc colour profiles: xcalib. This is a command line tool that takes an .icc colour profile and calibrates the screen with it. It does exactly what I want and nothing more. I tried with the .icm profile I had extracted from the Windows executable and it didn’t work. I then DuckDuckWent and found on a Thinkpad forum that there was a colour profile for the X230 available in the Display section of a review of the X230 on notebookcheck.net. The profile is hidden on the bottom of a table with technical info on the right of a picture with the text “distribution of brightness” underneath. (If it should ever disappear, contact me through my contact page and I will happily email you a copy.)
I downloaded the .icc profile file and fed it to xcalib and the colours changed. I also have a Thinkpad W520 with a calibrated screen and know how my pictures on Flickr should look from seeing them on that screen, so I took a look at the same pictures on the X230 screen and they looked as they should as far as I was able to ascertain. It was really obvious that they did not look right before the calibration, but after the calibration, they looked alright.
To make this change permanent, all you need to do is to execute the xcalib command with the .icc profile file that fits the screen at the start up of your desktop environment or window manager. In LXQt, you can use the Session Settings to autostart xcalib thenameoftheprofile.icc. In LXDE, you can use the LXsession session manager to do the same. I put the .icc profile file in my home folder to be certain I back it up properly.
To me, getting the screen calibrated was the one missing piece to make the Thinkpad X230 an excellent ultraportable machine that can replace my Thinkpad W520 as my main machine. I like the small and light 12 inch form factor, the IPS screen, the excellent keyboard, the relatively powerful i7 M-class processor, the long battery life and the generous selection of ports.