Unity (giao diện người dùng)
Phát triển

Ubuntu ban đầu sử dụng môi trường desktop Gnome đầy đủ; Người sáng lập Ubuntu, Mark Shuttleworth đã trích dẫn những khác biệt về quan điểm với nhóm GNOME về trải nghiệm người dùng để giải thích lý do tại sao Ubuntu sẽ sử dụng Unity làm giao diện người dùng mặc định thay vì GNOME Shell, bắt đầu từ tháng 4 năm 2011, với Ubuntu 11.04 (Natty Narwhal).
Tháng 11 năm 2010, Giám đốc Cộng đồng Ubuntu Jono Bacon đã giải thích rằng Ubuntu sẽ tiếp tục gửi các ngăn xếp Gnome, các ứng dụng Gnome và tối ưu hóa Ubuntu cho Gnome. Sự khác biệt duy nhất, ông viết, sẽ là Unity là shell khác của GNOME.
Canonical tuyên bố họ cũng đã thiết kế Unity cho máy tính để bàn và sẽ biến Unity thành shell mặc định cho Ubuntu trong phiên bản 11.04.
GNOME Shell không được bao gồm trong Ubuntu 11.04 Natty Narwhal vì công việc trên nó chưa hoàn thành vào thời điểm 11.04 bị đóng băng, nhưng có sẵn từ PPA, và có sẵn trong Ubuntu 11.10 và sau đó, thông qua các kho lưu trữ chính thức.
Tháng 11 năm 2010, Mark Shuttleworth tuyên bố ý định cuối cùng sẽ điều hành Unity trên Wayland thay vì X Window System, hiện đang sử dụng, mặc dù kế hoạch này đã bị hủy bỏ, thay thế Wayland bằng Mir cho Unity 8.
Tháng 12 năm 2010, một số người dùng đã yêu cầu Unity launcher (hoặc dock) có thể di chuyển từ bên trái sang các phía khác của màn hình, nhưng Mark Shuttleworth đã trả lời: "Tôi sợ rằng sẽ không hoạt động với các mục tiêu thiết kế rộng hơn của chúng tôi, vì vậy chúng tôi sẽ không thực hiện điều đó. Chúng tôi muốn launcher luôn gần với nút Ubuntu." Tuy nhiên, với Ubuntu 11.10, nút Ubuntu đã được chuyển vào launcher, khiến đối số này không hợp lệ. Có sẵn plugin của bên thứ ba để di chuyển launcher của Unity 3D xuống phía dưới.  Một tùy chọn để di chuyển launcher xuống dưới cùng của màn hình đã được chính thức triển khai trong Ubuntu 16.04.
Tính đến  năm 2010, các nhà phát triển giao diện shell Unity sử dụng bộ công cụ có tên là Nux thay vì Clutter. Unity là một plugin của trình quản lý cửa sổ Compiz, được Canonical tuyên bố là nhanh hơn Mutter, trình quản lý cửa sổ cho Gnome Shell là một plugin.
Ngày 14 tháng 1 năm 2011, Canonical cũng đã phát hành bản xem trước kỹ thuật của phiên bản "2D"  của Unity dựa trên Qt và được viết bằng QML. Unity-2D không được phát hành trên Ubuntu 11.04 CD, thay vào đó, desktop GNOME cổ điển là dự phòng cho phần cứng không thể chạy Unity.
Tháng 3/2011, những dấu hiệu công khai cho thấy xích mích giữa Canonical (và việc phát triển Unity của họ) và các nhà phát triển GNOME. Là một phần của sự phát triển Unity, các nhà phát triển Ubuntu đã gửi mã hóa API để đưa vào Gnome như một sự phụ thuộc bên ngoài. Theo Dave Neary, "... một phụ thuộc bên ngoài là một mô-đun không phải GNOME mà là một phụ thuộc của gói chứa trong một trong các bộ mô-đun GNOME," và lý do tại sao libappindicator không được chấp nhận như một phụ thuộc bên ngoài là "...nó không phù hợp với định nghĩa đó," nó có "... chức năng trùng lặp với libnotify," (Gnome Shell mặc định hiện tại) và CLA của nó không đáp ứng chính sách Gnome hiện tại. Mark Shuttleworth đã trả lời,
| 0 | 1 | 2 |
| --- | --- | --- |
| “ | Đây là một thời điểm quan trọng cho sự lãnh đạo của Gnome. Tôi sẽ nói rõ rằng tôi cảm thấy cái đuôi dài của những người đóng góp tốt bụng cho các ứng dụng Gnome và các ứng dụng Gnome đang bị buông xuống bởi một quá trình ra quyết định đã cho phép các động lực cạnh tranh làm giảm phạm vi của chính Gnome. Những ý tưởng không được tạo ra "cốt lõi" phải chiến đấu hết sức khó khăn và không cần thiết để lấy oxy... có chỗ cho những ý tưởng được khám phá không nên cảm thấy như một cuộc tấn công trực diện vào trụ súng máy. Đây không phải là cách để dẫn dắt một dự án.Đây là một công thức cho một dự án mất những người tuyệt vời vào những môi trường cởi mở hơn với những cách nhìn khác nhau về thế giới... Nắm bắt những ý tưởng khác và cho phép họ cạnh tranh vui vẻ và lành mạnh là cách duy nhất để giữ sự đổi mới mà họ mang lại trong thương hiệu của bạn. Mặt khác, bạn sẽ phải chứng kiến họ đổi mới và sau đó phải "chuyển tiếp" những nỗ lực của bản thân để theo kịp, làm xấu họ trong quá trình này. Chúng tôi đã bắt đầu điều này với một tuyên bố mạnh mẽ, rõ ràng: Unity là một shell của Gnome. Bây giờ, lãnh đạo Gnome phải quyết định xem họ có muốn thành quả của cuộc thi đó là tài sản của Gnome, hoặc không. | ” |
Tháng 4 năm 2011, Mark Shuttleworth tuyên bố rằng Ubuntu 11.10 Oneiric Ocelot sẽ không bao gồm desktop Gnome cổ điển như một bản sao lưu cho Unity, không giống như Ubuntu 11.04 Natty Narwhal. Thay vào đó, Ubuntu 11.10 đã sử dụng Unity 2D dựa trên Qt cho người dùng có phần cứng không thể hỗ trợ phiên bản 3D. Tuy nhiên, desktop GNOME cổ điển (GNOME Panel) có thể được cài đặt riêng trong Ubuntu 11.10 và các phiên bản mới hơn thông qua gnome-panel, một gói trong kho lưu trữ Ubuntu.
Tại Ubuntu Developer Summit tháng 11 năm 2011, thông báo rằng Unity cho Ubuntu 12.04 sẽ không kích hoạt lại systray và sẽ tích hợp ứng dụng tốt hơn và có thể kéo lens vào trong launcher, và phiên bản 2D của Unity sẽ sử dụng các nút trang trí giống như phiên bản 3D.
Trong hội nghị lập kế hoạch cho Ubuntu 12.10, có thông báo rằng Unity 2D có thể sẽ bị loại bỏ để giúp Unity 3D chạy tốt hơn trên phần cứng cấp thấp hơn.
Tháng 7 năm 2012, tại OSCON, Shuttleworth đã giải thích một số lý do lịch sử đằng sau sự phát triển của Unity. Quyết định ban đầu để phát triển giao diện mới vào năm 2008 được thúc đẩy bởi mong muốn đổi mới và vượt qua Microsoft và Apple trong trải nghiệm người dùng. Điều này có nghĩa là một nhóm các giao diện hợp nhất có thể được sử dụng trên nhiều yếu tố hình thức thiết bị, bao gồm máy tính để bàn, máy tính xách tay, máy tính bảng, điện thoại thông minh và TV. . Shuttleworth nói "'Máy tính để bàn cũ sẽ buộc máy tính bảng hoặc điện thoại của bạn trở nên điên cuồng với những tư thế hài hước. chúng tôi nói: Screw it. Chúng tôi sẽ chuyển máy tính để bàn tới nơi cần thiết cho tương lai. [Điều này ] hóa ra là một quá trình không phổ biến sâu sắc. "
Thử nghiệm ban đầu về Unity trong quá trình phát triển đã được thực hiện trong môi trường phòng thí nghiệm và cho thấy sự thành công của giao diện, bất chấp sự phản đối của công chúng.  Tỷ lệ hoàn trả phát hành trong thế giới thực cũng chỉ ra sự chấp nhận. Shuttleworth giải thích, "ASUS đã thực hiện một thử nghiệm trong đó họ đã bán nửa triệu [netbooks và laptops Unity ] tới Đức. Không phải là một thị trường dễ dàng. Và tỷ lệ hoàn trả trên Ubuntu giống hệt như tỷ lệ hoàn trả trên Windows. Đây là chỉ số chính cho các OEM đang tìm cách làm điều này."
Sự phát triển Windows 8 và giao diện Metro của Microsoft đã trở thành một động lực bổ sung cho sự phát triển của Unity, như Shuttleworth giải thích, "we [had to] move our desktop because if we didn't we'd end up where Windows 8 is. [In Windows 8]  you have this shiny tablet interface, and you sit and you use then you press the wrong button then it slaps you in the face and Windows 7 is back. And then you think OK, this is familiar, so you're kind of getting into it and whack [Windows 8 is back]."
Tháng 3 năm 2013, kế hoạch sử dụng máy chủ hiển thị Mir đã được công bố để phát triển Unity trong tương lai, thay cho Wayland/Weston được công bố trước đó.
Tháng 4 năm 2015, thông báo rằng Unity 8 sẽ xuất xưởng như một phần của Ubuntu 16.04 LTS, hoặc có thể sau đó. Cũng lưu ý rằng phiên bản Unity này sẽ không khác biệt nhiều so với Unity 7.
Tháng 4/2016 Ubuntu 16.04 được phát hành với Unity 7, không phải Unity 8, như giao diện người dùng mặc định, mặc dù Unity 8 có thể được cài đặt thông qua kho phần mềm Ubuntu dưới dạng tùy chọn, gói xem trước. Trong một Ubuntu Online Summit, các nhân viên của Canonical cho biết mục tiêu của họ là gửi Unity 8 làm giao diện mặc định cho Ubuntu 16.10, sẽ được phát hành vào tháng 10 năm 2016. Các kế hoạch này hiện đã được thay đổi và hiện tại Unity 8 sẽ được cài đặt sẵn 16.10 nhưng không phải là mặc định.
Ngày 5/4/2017 Mark Shuttleworth tuyên bố rằng công việc của Canonical về Unity sẽ kết thúc và Ubuntu sẽ sử dụng desktop GNOME 3 thay thế. Tuy nhiên, nhóm UBports đã phân nhánh kho lưu trữ Unity 8 và tiếp tục phát triển. Hiện tại, dự án Unity 8 được duy trì và phát triển bởi UBports.