### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a bug report that matches the one I want to file, without success.

### Electron Version

17.x.y

### What operating system are you using?

Ubuntu

### Operating System Version

Xubuntu 20.04, Ubuntu 16.04

### What arch are you using?

x64

### Last Known Working Electron version

_No response_

### Expected Behavior

While porting over Chromium's script to generate dependencies for Debian packages in VS Code (https://github.com/microsoft/vscode/issues/13089), I noticed that libgdk-pixbuf is statically linked rather than dynamically linked. An issue is that the exact name of the library changed over time, so sometimes it is libgdk-pixbuf-2.0-0, and other times it is libgdk-pixbuf2.0-0. Therefore, Electron should look up the library at runtime.

### Actual Behavior

Using the Electron sysroot when searching for Debian dependencies, it seems libgdk-pixbuf-2.0-0 is statically linked: https://github.com/microsoft/vscode/pull/147335/files#diff-b84879f8920b8ee14b70af14c40c90a255472a38795104384f64db32f1c7505dR56

I verified in a separate CI run that the dependency is indeed contributed by Electron, and not by other shared libraries that VS Code uses.

### Testcase Gist URL

_No response_

### Additional Information

Since libgdk is responsible for rendering menus and file dialogs, I think we should log a message and crash the program if the dependency cannot be found during runtime.

CC @deepak1556 
shell/browser/ui/message_box_gtk.cc
"%s", settings.detail.c_str());
    if (!settings.title.empty())
      gtk_window_set_title(GTK_WINDOW(dialog_), settings.title.c_str());
    if (!settings.icon.isNull()) {
      
      
      static constexpr int pixel_width = 48;
      static constexpr int pixel_height = 48;
      GdkPixbuf* pixbuf =
          gtk_util::GdkPixbufFromSkBitmap(*settings.icon.bitmap());
      GdkPixbuf* scaled_pixbuf = gdk_pixbuf_scale_simple(
          pixbuf, pixel_width, pixel_height, GDK_INTERP_BILINEAR);
      GtkWidget* w = gtk_image_new_from_pixbuf(scaled_pixbuf);
      gtk_message_dialog_set_image(GTK_MESSAGE_DIALOG(dialog_), w);
      gtk_widget_show(w);
      g_clear_pointer(&scaled_pixbuf, g_object_unref);
      g_clear_pointer(&pixbuf, g_object_unref);
    }
    if (!settings.checkbox_label.empty()) {
      GtkWidget* message_area =
          gtk_message_dialog_get_message_area(GTK_MESSAGE_DIALOG(dialog_));
      GtkWidget* check_button =
          gtk_check_button_new_with_label(settings.checkbox_label.c_str());
      g_signal_connect(check_button, "toggled",
                       G_CALLBACK(OnCheckboxToggledThunk), this);
      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button),
                                   settings.checkbox_checked);
      gtk_container_add(GTK_CONTAINER(message_area), check_button);
      gtk_widget_show(check_button);
    }